栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1038 T9

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1038 T9

#include <iostream>#include <string>#include <map>#include <vector>#include <algorithm>using namespace std;const int b[10][4]={{0},{0},{'a','b','c'},{'d','e','f'},{'g','h','i'},{'j','k','l'},{'m','n','o'},{'p','q','r','s'},{'t','u','v'},{'w','x','y','z'}};map<string,int> m;struct preWord{string word;int probability;preWord(string s="",int pro=0):word(s),probability(pro){}};void remove(vector<preWord> &v,int n){vector<preWord>::iterator it=v.begin();for (;it!=v.end();){if (it->word.size()<n){it=v.erase(it);continue;}++it;}}void removeImproper(vector<preWord> &v,char ch,int j){vector<preWord>::iterator it=v.begin();for (;it!=v.end();){int i=0;int flag=0;for (;i<4;++i){if(b[ch-'0'][i]==it->word[j]){flag=1;}}if(!flag)it=v.erase(it);else++it;}}string findMostProper(vector<preWord> &v,string &s){m.clear();vector<string> temp;vector<preWord>::iterator it=v.begin();for (;it!=v.end();++it){m[string(it->word.begin(),it->word.begin()+s.size())]+=it->probability;}map<string,int>::iterator mit=m.begin();if(mit==m.end()){return "MANUALLY";}else{int maxP=mit->second;for (++mit;mit!=m.end();++mit){if (mit->second>maxP){maxP=mit->second;}}for (mit=m.begin();mit!=m.end();++mit){if(mit->second==maxP){temp.push_back(mit->first);}}string min=temp[0];for (int i=1;i<temp.size();++i){if (temp[i]<min){min=temp[i];}}return min;}}int main(){int n,c=1;;cin>>n;while (n--){vector<preWord> dic;int dN,i=0;cin>>dN;for (;i<dN;++i){preWord t;cin>>t.word;cin>>t.probability;dic.push_back(t);}cout<<"Scenario #"<<c++<<":"<<endl;int nS;cin>>nS;cin.ignore(1);for (i=0;i<nS;++i){vector<preWord> cDic=dic;string str="";int j=1;char ch;int fl=0;while (ch=cin.get(),ch!='1'){if(fl){cout<<"MANUALLY"<<endl;continue;}remove(cDic,j);removeImproper(cDic,ch,j-1);str+=ch;string s=findMostProper(cDic,str);if(s=="MANUALLY"){fl=true;cout<<s<<endl;}else cout<<s<<endl;++j;}cin.ignore(1);cout<<endl;}cout<<endl;}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380116.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号