hdoj5676ztr loves lucky numbers
来源:互联网 发布:中国云计算创新基地 编辑:程序博客网 时间:2024/05/16 10:47
ztr loves lucky numbers
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 487 Accepted Submission(s): 199
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
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<queue>#include<list>#include<vector>#include<cmath>using namespace std;const int maxn=1000010;long long ans[maxn],cnt=0;void dfs(long long num,int cnt4,int cnt7,int n){if(cnt4>n/2||cnt7>n/2)return;if(cnt4+cnt7==n&&cnt4==cnt7){ans[cnt++]=num;return;}if(cnt4<=n/2)dfs(num*10+4,cnt4+1,cnt7,n);if(cnt7<=n/2)dfs(num*10+7,cnt4,cnt7+1,n);}int main(){cnt=0;for(long long i=2;i<=18;i+=2){dfs(0,0,0,i);}int t;long long n;scanf("%d",&t);while(t--){scanf("%lld",&n);if(n>777777777444444444ll){printf("44444444447777777777\n");}else printf("%lld\n",ans[lower_bound(ans,ans+cnt,n)-ans]);}return 0;}
0 0
- hdoj5676ztr loves lucky numbers
- hdu_5676_ztr loves lucky numbers
- hdu5676 ztr loves lucky numbers
- HDU 5676 ztr loves lucky numbers
- HDU 5676 ztr loves lucky numbers
- Hdu 5676 ztr loves lucky numbers
- hdu5676 ztr loves lucky numbers DFS+二分
- hdoj 5676 ztr loves lucky numbers 【二分】
- hdu5676 ztr loves lucky numbers 【打表】
- HDU 5676 ztr loves lucky numbers【DFS】
- ztr loves lucky numbers(二分,枚举)
- HDU 5676 ztr loves lucky numbers
- BestCoder Round #82 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
- poj 2752 Seek the Name, Seek the Fame(KMP)
- c3p0数据库连接池实现原理笔记
- Oj:ytu2671:Problem C: 大小写英文字母转换(1)
- ubuntu 14.04 mysql change datadir
- Ruby基础教程(三)——类和模块
- hdoj5676ztr loves lucky numbers
- 写单机看看 简单的splite3
- 使用FormData对包含文件类型的form表单进行异步提交(文件上传)并配置回调
- UVa 221 Urban Elevations
- 谈谈墨迹天气app v5.8.4的用户体验1
- Iterator遍历集合特点
- first step
- php关于数字格式方法收集
- JSP