[uva-417] Word Index (BFS、队列
来源:互联网 发布:c语言vector迭代器 编辑:程序博客网 时间:2024/06/03 09:56
题意容易知道就是按这样的方式排列83681个数。
然后给每个输进的string输出对应值。
a -> 1
b -> 2
.
.
z -> 26
ab -> 27
ac -> 28
.
.
az -> 51
bc -> 52
.
.
vwxyz -> 83681
但是很难想到队列。
想到队列就很简单
和BFS中关键的操作差不多,每次取出队列最前,然后添加可以加的字母放到队尾,控制string长度,并用map存一下string对应值就可以。
//uva 417 BFS by zhuhua//time limit 3000 ms//AC time 20 ms#include <iostream>#include <map>#include <queue>#include <string>#include <algorithm>using namespace std;map <string,int> Word;int cnt=1;void initial(){ char x; queue <string> calcu; for(x='a';x<='z';x++) { string m; m+=x; Word[m]=cnt++; calcu.push(m); } while(!calcu.empty()) { string temp=calcu.front(); calcu.pop(); int len=temp.length(); if(len<5) { for(x=char(temp[len-1]+1);x<='z';x++) { string next=temp+x; Word[next]=cnt++; calcu.push(next); } } }}int main(){ string input; initial(); while(cin>>input) { map <string,int>:: iterator it; it=Word.find(input); if(it==Word.end())cout<<0<<endl; else cout<<it->second<<endl; } return 0;}
阅读全文
0 0
- [uva-417] Word Index (BFS、队列
- UVA 417 Word Index
- UVA 417 - Word Index
- Uva 417 - Word Index
- UVa 417 Word Index
- UVa 417-Word Index
- UVa 417 - Word Index
- UVA 417 Word Index
- UVA 417 - Word Index(数论)
- uva 417 - Word Index(数位dp)
- Uva 417 - Word Index 解题报告(组合数)
- UVA FILL(BFS + 优先队列)
- UVa 10603 BFS+优先队列
- UVa 10047 - The Monocycle, 优先队列+BFS
- UVA 11573 Ocean Currents --BFS+优先队列
- UVA 11573 - Ocean Currents(BFS+优先队列)
- UVA-10603-Fill(BFS+优先队列)
- UVA 11573 - Ocean Currents【BFS+优先队列】
- 2017.10.1 互不侵犯king 思考记录
- KD-tree的原理以及构建与查询操作的python实现
- redis安装make失败
- bzoj2839集合计数 容斥原理
- PHP 发送Email类
- [uva-417] Word Index (BFS、队列
- throw...catch in c++
- 引领虚拟币开发底层技术的核心代码是什么
- 油田,紫书P162Uva572
- node.js实用代码段(一)
- C. Helga Hufflepuff's Cup(树形dp)
- 排序算法(一) c语言
- iPhone8首炸, 你还在给手机瞎充电吗?
- 朋友圈发3个字被拘,发朋友圈你可别任性!