HDU 5676 ztr loves lucky numbers
生活随笔
收集整理的這篇文章主要介紹了
HDU 5676 ztr loves lucky numbers
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
| —亞信科技,巴卡斯(杭州),壹晨仟陽(yáng)(杭州),英雄互娛(杭州)? (包括2016級(jí)新生)除了校賽,還有什么途徑可以申請(qǐng)加入ACM校隊(duì)?? |
ztr loves lucky numbersTime Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 51????Accepted Submission(s): 24 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. Input There are T(1≤n≤105)?cases For each cases: The only line contains a positive integer?n(1≤n≤1018). This number doesn't have leading zeroes. Output For each cases Output the answer Sample Input 2 4500 47 Sample Output 4747 47 把1到10^20中滿足條件的全部枚舉出來(lái),然后再二分查找就可以了。注意20位最小的44444444447777777777在是超long long int 的只好進(jìn)行一下特判#include <iostream> #include <string.h> #include <stdlib.h> #include <algorithm> #include <math.h> #include <stdio.h> #include <string> #include <map>using namespace std; #define MAX 600000 typedef __int64 LL; LL n; LL a[MAX]; int cnt; void dfs(LL x,LL y,LL num) {if(x==0&&y==0){a[++cnt]=num;return;}if(x>0)dfs(x-1,y,num*10+4);if(y>0)dfs(x,y-1,num*10+7); } void fun() {a[1]=47;a[2]=74;cnt=2;for(int i=4;i<=18;i+=2){dfs(i/2,i/2,0);} } int main() {int t;scanf("%d",&t);fun();sort(a+1,a+cnt+1);while(t--){scanf("%I64d",&n);if(n>777777777444444444){cout<<"44444444447777777777"<<endl;continue;}LL l=1,r=cnt;LL res;while(l<=r){LL mid=(l+r)/2;if(a[mid]>=n){res=a[mid];r=mid-1;}elsel=mid+1;}printf("%I64d\n",res);}return 0; } |
轉(zhuǎn)載于:https://www.cnblogs.com/dacc123/p/8228671.html
總結(jié)
以上是生活随笔為你收集整理的HDU 5676 ztr loves lucky numbers的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 0428 团队项目2.0
- 下一篇: Nginx-location配置指南