没头脑

C++答案错误,代码:#include<iostream> #include<vector> #include<algorithm> #include<cmath> #include<queue> #include<cstring> #include<map> using std::vector; using std::cin; using std::endl; using std::cout; using std::sort; using std::string; using std::max; using std::queue; using std::map; int abctoint(char c) { return c-'a'; } vector <string> a[35]; map<string,int> b; int main() { int k,n; cin>>k>>n; for(int i=1;i<=k;i++) { string f; cin>>f; a[abctoint(f[0])].push_back(f); b[f]=0; } for(int i=0;i<=25;i++) { sort(a[i].begin(),a[i].end()); } for(int i=1;i<=n;i++) { char c; cin>>c; int what=abctoint(c); int minn=100000000; string how; for(int i=0;i<=a[what].size();i++) { string that=a[what][i]; if(b[that]<minn) { minn=b[that]; how=that; } // cout<<minn<<" "<<how<<endl; } b[how]++; cout<<how<<endl; } } 题目: 没头脑和不高兴正在玩文字游戏。没头脑说了一个字母,而不高兴说了一个以该字母开头的单词。但是这个词需要出现在给出的单词列表中,并且是相同首字母中使用的次数最少的单词。如果单词的选择不明确(即相同首字母中使用的次数最少的单词不止一个),那么不高兴会选择字典序较小的单词。输入保证对于每个没头脑说出的字母,都有可以选择的单词。 假设有一个由 K 个不同的单词组成的列表和一个没头脑给出的N个字母组成的列表。编写一个程序,根据输入,输出不高兴在游戏过程中说出的 N 个单词。 输入格式 第一行输入包含来自的正整数 K 和 N。 以下 K 行是 K 个单词,由小写英文字母组成,不超过 21 个字母。 以下 N 行是没头脑说的 N 个小写英文字母。 输出格式 N 行,分别对应 N 个没头脑的询问。
最新发布
09-07
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值