codeforces 96B Lucky Numbers (easy)
来源:互联网 发布:js 固定长度数组 编辑:程序博客网 时间:2024/05/16 06:21
Petya 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 Petya came across a positive integer n. Help him to find the least super lucky number which is not less than n.
The only line contains a positive integer n (1 ≤ n ≤ 109). This number doesn't have leading zeroes.
Output the least super lucky number that is more than or equal to n.
Please, do not use the %lld specificator to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specificator.
4500
4747
47
47
一开始写这道题的时候是用字符串来比对找到答案,后来看到这个题数据很小,可以暴力来做。
然后在网上学到了很厉害的一个函数next_permutation。用这个函数就可以将含47的超级幸运数字的各种情况在范围内的都找到。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>using namespace std;typedef long long ll;int main(){ char a[8][20]={"47","4477","444777","44447777","4444477777"}; vector<ll> q; int k=2; for(int i=0;i<5;i++) { do { long long sum=0; for(int j=0;j<k;j++) { sum*=10,sum+=a[i][j]-'0'; } q.push_back(sum); }while(next_permutation(a[i],a[i]+k)); k+=2; } int n; while(~scanf("%d",&n)) { ll ans=*lower_bound(q.begin(),q.end(),n); printf("%lld\n",ans); } return 0;}
- CodeForces - 96B Lucky Numbers (easy)
- CodeForces - 96B Lucky Numbers (easy)
- codeforces 96B Lucky Numbers (easy)
- Lucky Numbers (easy) CodeForces
- B. Lucky Numbers (easy)思维
- 【CodeForces】96B - Lucky Numbers (easy)(模拟,字典序全排列)
- codeforces 96B Lucky Numbers (全排列)
- CodeForces - 244B Undoubtedly Lucky Numbers
- Lucky Numbers (easy)
- 13. Lucky Numbers (easy)
- 【打CF,学算法——二星级】CodeForces 96B Lucky Numbers (构造/dfs)
- Codeforces Round #150 (Div. 2) B. Undoubtedly Lucky Numbers
- codeforces 244B Undoubtedly Lucky Numbers(set)
- Lucky Numbers (easy)(暴力解决)
- CodeForces-630C. Lucky Numbers
- Codeforces 630C Lucky Numbers
- CodeForces-630C. Lucky Numbers
- CodeForces 630C:Lucky Numbers
- 运维人该醒醒了,要变天了
- Linux下/proc目录
- 日常开发中的salt和token是什么?
- 欢迎使用CSDN-markdown编辑器
- C# 对象初始化问题(可否像C语言的结构一样,简洁的初始化)
- codeforces 96B Lucky Numbers (easy)
- 如何跟踪确定IP地址
- Nodejs 模块
- Joone框架的神经网络如何保存和载入训练好的模型
- activeMQ消息队列连接池
- I/O复用select、poll、epoll
- Ubuntu16.04搭建HA集群hadoop-2.7.4
- MQTT SERVER 性能测试报告
- 获取cancvs上鼠标的坐标信息