日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU 5676 ztr loves lucky numbers

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 5676 ztr loves lucky numbers 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
—亞信科技,巴卡斯(杭州),壹晨仟陽(杭州),英雄互娛(杭州)?
(包括2016級新生)除了校賽,還有什么途徑可以申請加入ACM校隊??

ztr loves lucky numbers

Time 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(1n105)?cases

For each cases:

The only line contains a positive integer?n(1n1018). 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中滿足條件的全部枚舉出來,然后再二分查找就可以了。注意20位最小的44444444447777777777在是超long long int 的只好進行一下特判#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; }

轉載于:https://www.cnblogs.com/dacc123/p/8228671.html

總結

以上是生活随笔為你收集整理的HDU 5676 ztr loves lucky numbers的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。