CodeForces 121A
来源:互联网 发布:修改ssh 默认端口 编辑:程序博客网 时间:2024/06/06 13:10
题目大意:输入一个范围,在范围内取几个区间,区间内的所有数当区间分界来计算,所有区间分界都是由4或7组成的。例:2~7 分界为 4, 7。则2~4当作4计算,5~7当作7计算,结果为33。
解题思路:打表将所有区间分界按大小顺序存入数组,然后在范围内判断,先搜素第一个区间分界的位置,则从开头到第一个区间分界都为区间分界的值。如果一次一次加会超时。所有在这一个的区间分界不够大时,计算并将区间分界位置移动。
ac代码:
#include <iostream>#include <queue>#include <cstring>using namespace std;queue <int>qu;long long num[10005], temp, sum;int cnt, n, m, pos;void bfs(){while (!qu.empty())qu.pop();qu.push(4);qu.push(7);cnt = 2;num[0] = 4, num[1] = 7;while (!qu.empty()){temp = qu.front();if (temp > 444444444)return ;qu.pop();qu.push(temp*10 + 4);qu.push(temp*10 + 7);num[cnt++] = temp*10 + 4;num[cnt++] = temp*10 + 7;}}int main(){bfs();while (scanf("%d%d", &n, &m)!=EOF){sum = 0;for (int i=0; ; i++)if (num[i] >= n){pos = i;break;}cnt = 0;for (int i=n; i<=m; i++)if (i <= num[pos])cnt++;else {sum += cnt * num[pos];pos++;cnt = 1;}sum += cnt * num[pos];cout << sum << endl;}return 0;}
阅读全文
0 0
- codeforces #121 A
- CodeForces 121A
- CodeForces-a
- Codeforces 903A A
- CodeForces Round #121 (191A) - Dynasty Puzzles
- CodeForces 18A A - Triangle
- CodeForces 133A A. HQ9+
- codeforces 651A A. Joysticks
- 【Codeforces 597A】A. Divisibility
- 【 Codeforces 615A】A. Bulbs
- A. Divisibility CodeForces 597A
- codeforces 417A A. Elimination
- CodeForces 534A A. Exam
- codeforces#98 a
- codeforces#99 a
- codeforces 105 div2 A
- Codeforces 185A Plant
- codeforces 183A Headquarters
- 微信小程序的探讨
- android开发——Android开发中的47个小知识
- 两个LinearLayout实现简单的菜单增加和删除
- SpringBoot(二):配置文件详解
- CF_Educational Codeforces Round 28_A
- CodeForces 121A
- 欢迎使用CSDN-markdown编辑器
- TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
- 二叉排序树——完整代码实现
- 2016ACM-ICPC广西邀请赛(三题)
- ubuntn系统上搜狗输入法崩溃,只能输入英文字母,无法出入汉字
- 奋斗群群赛4总结与心得
- 做到这些_才算是顶级程序员
- Java参数传递小结