题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 失误原因(初次提交分数) |
---|---|---|---|---|---|
Intelligent IME | ★★☆☆☆ | 答案正确 | 100 | 2014-11-07 13:14:22 | 多组数据未重置数组(0) |
(WHU 2014-11-7练习赛)
对应英文单词和手机打字所用的数字。
反正读个字符串,匹配一下,用个map就结束了,也没什么特别。
就是count居然也是关键字(我的编译器不是233)被坑了,CE了好几次。
4287.cpp代码已折叠
展开折叠内容
|
---|
#include<iostream> #include<string> #include<cstring> #include<algorithm> using namespace std; int cnt[1000000]={}; int w[1000]={},code[10000]={},N,n,m; string str[10000]={}; void init() { w['a']=w['b']=w['c']=2; w['d']=w['e']=w['f']=3; w['g']=w['h']=w['i']=4; w['j']=w['k']=w['l']=5; w['m']=w['n']=w['o']=6; w['p']=w['q']=w['r']=w['s']=7; w['t']=w['u']=w['v']=8; w['w']=w['x']=w['y']=w['z']=9; } const int trans(const string&str) { int u=0; for(int i=0;i!=str.size();++i) { u*=10; u+=w[str[i]]; } return u; } void process() { memset(cnt,0,sizeof(cnt)); cin>>n>>m; for(int i=1;i<=n;++i) { cin>>code[i]; } for(int i=1;i<=m;++i) { cin>>str[i]; cnt[trans(str[i])]++; } for(int i=1;i<=n;++i) { cout<<cnt[code[i]]<<endl; } } int main() { cin.sync_with_stdio(0); init(); cin>>N; while(N--) { process(); } return 0; } |