题目链接:



http://acm.nyist.net/JudgeOnline/problem.php?pid=985
或者: http://115.159.40.116/problem_show.php?pid=5545

描述

给定一个带通配符问号的数W,问号可以代表任意一个一位数字。
再给定一个整数X,和W具有同样的长度。
问有多少个整数符合W的形式并且比X大?
输入
多组测试数据。
每组数据两行。第一行代表W,第二行代表X,它们的长度相同,并且都不超过15。

提供几组测试数据:
?1234?5
1123455
???????????????
100000000000000
1234
1234
答案:
84
899999999999999
0

AC代码:

#include <stdio.h>
#include <string.h>
#include <math.h>
char w[20] = {0}, x[20];
long long countFunction(int i) {//注意返回类型
long long ans = 0, flag = 0;//flag -1表示w小于x,1表示大于,0表示未知
for(; w[i] != 0; i++) {
if(w[i] == '?') break;
if(w[i] > x[i]) {
flag = 1;//若在?前wi有大于xi的则w恒大于x
ans = 1;
break;
} else if(w[i] < x[i]) {
flag = -1;//若在?之前wi有小于xi的,则w恒小于x
break;
}
//xi等于wi则继续循环,大小未知,直到遇到?,或字符串到末尾
}
int con = 0, j = i+1;
if(flag == 0 && w[i] != 0) {//大小未知且w[i]!=0说明i走到了?的位置
ans = '9'-x[i++];//算出此处wi恒大xi的个数
j = i;
}
if(flag != -1) {//flag=-1恒小时,ans=0,直接输出
for(; w[i] != 0; i++) if(w[i] == '?') con++;
//因为是恒大所以直接统计后面的?个数 ,再ans = ans*pow(10,con); 即可
ans *= ceil(pow(10.0,con));
}
//未知其实是?与?前面等于x,?后面未知,故递归求之;?处恒大于x的情况前面已计算在ans中
if(flag == 0 && w[j] != 0) ans += countFunction(j);
return ans;
}
int main() {
while(~scanf("%s%s", w, x)) {
printf("%lld\n", countFunction(0));
memset(w,0,sizeof(w));
}
return 0;
}

nyoj985带通配符的数相关推荐

  1. CSDN第四届在线编程大赛2014初赛:带通配符的数

    题目要求: 输入参数:参数A,含有任意个数的?的数值字符串,如:12?4,?代表一位任意数              参数B,不含?的数值字符串,长度与参数A一致 输出结果:参数A比参数B大的可能数值 ...

  2. 字符串转换成整数,带通配符的字符串匹配

    之前本一直想写写神经网络算法和EM算法,但写这两个算法实在需要大段大段的时间,而平时上班,周末则跑去北大教室自习看书(顺便以时间为序,说下过去半年看过的自觉还不错的数学史方面的书:<数理统计学简 ...

  3. 带绝对值的数可导性问题的讨论

    今日收获:带绝对值的数可导性问题的快速判断 结论:     若f'(a)存在                 ①f(a)不等于0,则|f(x)|在x=a处比可导:                 ②若 ...

  4. 数位DP - 带3的数

    目录 题目来源 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目来源 数位DP_哔哩哔哩_bilibili 题目描述 求区间[L,R]范围内有多少带3的数. 所谓带3的数就是这个数的十进制 ...

  5. 数位DP - 带49的数

    目录 题目来源 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目来源 20200817-数位DP-带49的数_哔哩哔哩_bilibili 题目描述 求区间 [1,n] 范围内包含多少带 4 ...

  6. python带通配符的字符串匹配_Bash技巧:实例介绍数个参数扩展表达式以处理字符串变量...

    Linux 的 bash shell 提供了多种形式的参数扩展表达式,可以获取变量自身的值,或者对变量值进行特定处理得到一个新的值,等等. 本篇文章对字符串变量值相关的参数扩展表达式进行汇总说明. 假 ...

  7. bash命令行中带通配符参数何时展开??

    在bash中执行的命令,有些参数经常会带个通配符的,但是你知道这个参数是何时展开的吗? 先来看下简单的bash小代码: [zcm@debug #88]$cat del.sh #!/bin/bash i ...

  8. 老司机带带我:数仓建模架构|维度建模剖析与案例演示

           作者基于多年的大数据处理经验,当前管理着100PB+数据仓库和2000+节点的集群.持续系统化给大家分享一下关于数据仓库建设的经验总结.本系列既有数据仓库的形而上学理论体系,也有结合公司 ...

  9. 数控g71编程实例带图_数车编程G71实例讲解

    老铁们大家好,我是你们的好朋友少白,最近找我学习数车编程的老铁们有点多,今天呢我就给大家来分享一组案例,希望能给大家带来一些帮助, G71,G70 编程指令是数控车最常用,也是最方便的指令,一般零件的 ...

最新文章

  1. mongodb 系列 ~ journal日志畅谈
  2. 太阳能板如何串联_还在犹豫用不用太阳能灯?这些分析让你少花钱,更省钱。...
  3. Python中字典get方法的使用
  4. Python 之父退休,C 语言之父与世长辞,各大编程语言创始人现状大曝光!
  5. 沈阳大学计算机考研,计算机专业考研成功经验谈:掌握方法,以不变应万变
  6. 背地砖上楼的机器人_德国发明铺地砖机器人,效率大幅度上升,节省千万!
  7. 任正非:假设未来数据流量管道变粗…
  8. 牛人整理的统计学教材
  9. SqlServer 的一个坑
  10. linux 用户权限不够,linux .权限不够怎么办
  11. qtablewidget 添加一行
  12. Frida的安装与使用
  13. 1092: 地头蛇PIPI
  14. java计算机毕业设计vue健康餐饮管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
  15. PHP后端API接口解决Ajax跨域请求的方式
  16. 苹果净利润同比下滑19%,大中华区下滑30%;养老基金将入股市投资,首批可能达2000亿元
  17. 如何使用gif制作软件快速合成gif动图....
  18. Python爬虫从入门到精通——爬虫实战:爬取今日头条图片新闻
  19. 【项目管理】优秀项目经理必知的六大沟通技巧
  20. 简述Putty中psftp的用法

热门文章

  1. PPT 下载 | 神策数据刘乐:智能推荐驱动业务增长应用与实践
  2. 分析大咖说:做一个转化率提升 2% 的成功官网改版案例
  3. 你会怎样衡量你的产品? —— 一点产品数据分析的经验分享
  4. 2019年第十二届全国大学生信息安全实践创新赛线上赛Writeup
  5. HTML-语义类标签
  6. 【晒出你的第83行代码】阿里研究员福贝,用一个小演示程序来解释一下 C++11/14 里的 closure 是可以多么的“爽”...
  7. NodeJS文档之Buffer(1)-Buffer的简介
  8. 简易调用及实例化视图
  9. atitit.词法分析的实现token attilax总结
  10. 【CSS】背景遮罩层各种情况下,CSS样式