HDU-2410 Barbara Bennett's Wild Numbers 数学题
来源:互联网 发布:压力测试软件 编辑:程序博客网 时间:2024/06/10 18:39
大致题意:
开始看懂题花了点时间,要求确定w中 ? 的值,使 w>x,求这样的w有多少个?
解题思路:
逐个数字进行比较,
如果 ? 之前有w>x,则 ? 可取0-9;
如果 ? 之前有w<x,则 ? 无取值;
如果 ? 之前均为w=x, 则 ? 可取[x, 9],继续往下匹配;
写几组例子就找到规律了:
w = ??
x = 12
ans = (9-1)*10 + (9-2)
w = ???
x = 123
ans = (9-1)*10*10 + (9-2)*10 + (9-3)
w = 2???
x = 1234
ans = 10*10*10
w = 1???
x = 2345
ans = 0
#include <iostream>#include <cstdio>#include <string.h>#include <math.h>using namespace std;int main(){ char w[105], x[105]; int i, len; int ans, cnt; while(~scanf("%s", w) && w[0]!='#') { ans = 0; cnt = 0; //标记'?'个数 scanf("%s", x); len = strlen(w); for( i = 0; i < len; i++) { if(w[i] == '?') cnt ++; } for( i = 0; i < len; i++) { if(w[i] == '?') { ans += 0.5+(9-(x[i]-'0'))*pow(10,--cnt); } else if(w[i] < x[i]) break; else if(w[i] > x[i]) { ans += 0.5 + pow(10,cnt); //细节:若直接pow(10,cnt)会产生误差, +0.5调整误差(只有在正数的情况下可以这样做) break; } } printf("%d\n", ans); } return 0;}
不过在oj上提交测试的时候,不加0.5也能过。
0 0
- HDU-2410 Barbara Bennett's Wild Numbers 数学题
- HDU 2410 Barbara Bennett's Wild Numbers
- HDU 2410 Barbara Bennett's Wild Numbers (想法题)
- poj 3340 Barbara Bennett's Wild Numbers
- POJ 3340 & HDU 2410 Barbara Bennett's Wild Numbers(数学)
- poj 3340 Barbara Bennett's Wild Numbers 递归
- POJ 3340 Barbara Bennett's Wild Numbers 可能会
- POJ 3340 Barbara Bennett'sWild Numbers(数位DP)
- HDU 1390 Binary Numbers(数学题)
- HDU 3880 Lucky Numbers 数学题
- View Barbara Canellis's Obituary
- hdu 2114 Calculate S(n) 简单数学题
- HDU 4488 Faulhaber’s Triangle (数学题)
- HDU 2832 Snail’s trouble 数学题
- HDU 2832 Snail’s trouble(数学题)
- URAL2070Interesting Numbers(数学题)
- hdu 3876 A pupil’s problem(简单数学题)
- hdu 2603 Wiskey's Power(数学题),待改正
- 调整/etc/sysctl.conf网络参数提高系统负载
- openGL鼠标拖动使得物体旋转
- hadoop - hdfs base operation (Java api )
- 云计算、Hadoop小记
- 第二周编程小结
- HDU-2410 Barbara Bennett's Wild Numbers 数学题
- Java_多线程(上)
- 底层之Spring.net AOP
- OC学习小结之Foudation -NSMutableArray
- iOS中使用block进行网络请求回调 - xuym
- 第二周【项目四—图书馆的书】
- Python编辑器Ulipad安装
- 黑马程序员——Java基础知识
- 物联12:电子标签芯片