B. Tavas and SaDDas
来源:互联网 发布:小视频软件app 编辑:程序博客网 时间:2024/06/05 05:39
题目链接:http://codeforces.com/problemset/problem/535/B
47 Lucky数字问题
比赛时用的是打表的代码,居然过不了!真不知道为什么,先记录下吧,以后可能会知道为什么。
DFS代码:
#include<iostream>#include<sstream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<vector>#include<queue>#include<set>#include<map>#include<string>#define LL long long#define INF 0x7fffffff//freopen("E:\\in.txt","r",stdin);using namespace std;int ans,n;void dfs(int t,int k){ if(t>=n) return; if(t<n) ans++; if(k<1000000000) dfs(k*4+t,k*10); if(k<1000000000) dfs(k*7+t,k*10);}int main(){ while(cin>>n){ ans=1; dfs(4,10);dfs(7,10); cout<<ans<<endl; } return 0;}
打表代码:
#include<iostream>#include<sstream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<vector>#include<queue>#include<set>#include<map>#include<string>#define LL long long#define INF 0x7fffffff//freopen("E:\\in.txt","r",stdin);using namespace std;int ans[20000],tot;void bfs(){ queue<int> Q; Q.push(4);Q.push(7); while(!Q.empty()){ int tp=Q.front();Q.pop(); //if(tp<=100000000) cout<<tp<<endl; ans[tot++]=tp; int k=0; int p=tp; while(p) k++,p/=10; int kk=(int)pow(10,k); if(kk*4+tp<=1000000000 && kk*4+tp>0 && kk*4+tp>tp) Q.push(kk*4+tp); if(kk*7+tp<=1000000000 && kk*7+tp>0 && kk*7+tp>tp) Q.push(kk*7+tp); }}int main(){ tot=0; bfs(); sort(ans,ans+tot); //for(int i=0;i<(int)ans.size();i++) cout<<ans[i]<<" "; int N; while(cin>>N){ for(int i=0;i<tot;i++) if(ans[i]==N) { cout<<(i+1)<<endl; break; } } return 0;}
0 0
- B. Tavas and SaDDas
- B. Tavas and SaDDas
- 535B:Tavas and SaDDas
- #299 (div.2) B. Tavas and SaDDas
- CodeForces 535B — Tavas and SaDDas
- codeforces 535B-Tavas and SaDDas
- coderforce 535B Tavas and SaDDas
- Codeforces-535B Tavas and SaDDas
- codeforces535B:Tavas and SaDDas
- cf. Tavas and SaDDas
- cf535B. Tavas and SaDDas
- Codeforces Round #299 (Div. 2)B. Tavas and SaDDas
- Codeforces Round #299 (Div. 2)B. Tavas and SaDDas
- Code Forces 535 B. Tavas and SaDDas(数论)
- [Codeforces 535B]Tavas and Karafs
- codeforces535A:Tavas and Nafas
- cf. Tavas and Nafas
- codeforces535D:Tavas and Nafas
- ajax学习笔记
- Dijkstra算法失败
- 类ChainNode和Chain
- Java 最佳学习方式
- DNS BIND之recursion递归
- B. Tavas and SaDDas
- 第三章3.24
- 条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>
- 内存泄露
- 剑指offer之斐波那契数列(Fibonacci)
- 传奇游戏架构图
- Android-圆角图片
- Http状态码-HttpClient得到状态码并返回信息
- mongodb 多表关联的实现和DBRef理解,