hdu 5676 ztr loves lucky numbers
来源:互联网 发布:淘宝卖家体验用心在哪 编辑:程序博客网 时间:2024/06/01 09:18
ztr loves lucky numbers
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1112 Accepted Submission(s): 468
Problem Description
ztr loves lucky numbers. Everybody knows that positive integers are lucky if their decimal representation doesn't contain digits other than 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.
Lucky number is super lucky if it's decimal representation contains equal amount of digits 4 and 7. For example, numbers 47, 7744, 474477 are super lucky and 4, 744, 467 are not.
One day ztr came across a positive integer n. Help him to find the least super lucky number which is not less than n.
Lucky number is super lucky if it's decimal representation contains equal amount of digits 4 and 7. For example, numbers 47, 7744, 474477 are super lucky and 4, 744, 467 are not.
One day ztr came across a positive integer n. Help him to find the least super lucky number which is not less than n.
Input
There are T(1≤n≤105) cases
For each cases:
The only line contains a positive integern(1≤n≤1018) . This number doesn't have leading zeroes.
For each cases:
The only line contains a positive integer
Output
For each cases
Output the answer
Output the answer
Sample Input
2450047
Sample Output
474747
首先找出所有的幸运数字,再进行查找
例如47 74 4477 4747 4774 7447 7474 7744.........
用dfs枚举即可,再存放在set中,用lower_bound查找第一个不小于输入数字的元素。
当输入大于 777777777444444444时,满足条件的下一个幸运数超出long long 的范围,所以要特判。
#include <iostream>#include <cstdio>#include <set>using namespace std;typedef long long ll;ll a[262220];set<ll>b;void dfs(ll x,ll y,ll cnt){ if(x==0&&y==0) { b.insert(cnt); return; } if(x>0) dfs(x-1,y,cnt*10+4); if(y>0) dfs(x,y-1,cnt*10+7);}int main(){ int t; b.insert(47); b.insert(74); for(int i=2;i<=9;i++) { dfs(i,i,0); } scanf("%d",&t); ll n; while(t--) { scanf("%lld",&n); if(n>777777777444444444) { printf("44444444447777777777\n"); continue; } printf("%lld\n",*b.lower_bound(n)); } return 0;}
0 0
- HDU 5676 ztr loves lucky numbers
- HDU 5676 ztr loves lucky numbers
- Hdu 5676 ztr loves lucky numbers
- HDU 5676 ztr loves lucky numbers【DFS】
- HDU 5676 ztr loves lucky numbers
- hdu 5676 ztr loves lucky numbers
- hdu 5676 ztr loves lucky numbers
- hdu 5676-ztr loves lucky numbers
- hdu 5676 ztr loves lucky numbers
- hdu 5676 ztr loves lucky numbers
- hdu 5676ztr loves lucky numbers
- HDU 5676 ztr loves lucky numbers
- HDU 5676 ztr loves lucky numbers
- hdu 5676 ztr loves lucky numbers(STL大法好)
- hdu 5676 ztr loves lucky numbers【dfs+剪枝】
- hdu 5676 ztr loves lucky numbers(STL大法好)
- HDU 5676 ztr loves lucky numbers dfs+二分
- hdu 5676ztr loves lucky numbers(全排列函数)
- CSS选择器
- memento
- 金融tag对照表
- IOS中UITableViewCell使用详解
- UVa 489 Hangman Judge
- hdu 5676 ztr loves lucky numbers
- 如何评价《编译系统透视:图解编译原理》一书(新设计团队)
- Handler详解
- Life Line: 将机器人放进游戏
- 招聘网站
- SQL Server2012无法连接到服务器
- 1.61 三角形O(nlogn)做法
- 实用知识:SQL 常用指令(增删改查 )
- GDB常用命令