2026/6/1 9:17:07
网站建设
项目流程
做足彩推荐赚钱的网站,百度seo软件优化,网站后台下载器,极速网站建设公司电话P3752 语言普查
题目背景
“Kiaosmaonsnai Assi fi wais.”
“Kjamqosoaksi mais pas?”
“Oci! Asia olo mnai naso!”
“2333 在说什么啊根本听不懂……”
这是 Yugo 国的日常……
Yugo 国的人民在进行一次人口普查#xff0c;由于 Yugo 国是典型的多民族国家#…P3752 语言普查题目背景“Kiaosmaonsnai Assi fi wais.”“Kjamqosoaksi mais pas?”“Oci! Asia olo mnai naso!”“2333 在说什么啊根本听不懂……”这是 Yugo 国的日常……Yugo 国的人民在进行一次人口普查由于 Yugo 国是典型的多民族国家所以拥有许多种语言。题目描述Yugo 国有许多不同的种族总共有N NN种不同的语言但是主席扔给了你几本字典这样你就知道他们在说什么语了。你的任务就是判断他们在说什么语并填上户口本。具体的给出N NN种语言的名称以及已知的来自该语言的若干个单词保证每个单词最多出现在一种语言中。同时你还会得到若干个句子对于每个句子你都需要判断它属于哪种语言单词匹配不区分大小写。一个句子是一个仅包含大小写字母、空格、-、、.、,、?、!、;、(和)的字符串其中有且仅有.、,、?、!、;、(和)是分隔符。一个句子由若干个单词和分隔符构成。句子中每个极大的不包含分隔符的子串都是一个单词。即若一个句子的子串S SS不包含分隔符且不存在该句子的另一个子串T TT满足T TT不包含分隔符、S SS是T TT的子串且S ≠ T S\ne TST则S SS是该句子中的一个单词。同时输入数据中的句子有以下性质一个句子中不会同时包含来自不同语言的两个单词。一个句子中包含至少一个来自一种语言的单词。一个句子中可能出现在任何一个语言的已知词语中都没有出现过的词语。一个句子属于一种语言当且仅当该句子中存在一个单词S SS来自该语言。输入格式第一行一个整数N NN表示不同语言的数量。接下来N NN行依次是该语言的名称和该语言中的若干个单词单词之间用空格隔开。接下来一行为空行。接下来若干行不超过10 3 10^3103行每行一个句子。输出格式对于每个句子输出一行一个字符串表示该句子属于的语言的名称。输入输出样例 #1输入 #14 Qzrian yy ghy qzr Yugoslavian mihailova petrozavodsk saint-petersburg Suissvia yugoslavia korse mais kohnin Mohaian Jzm Wallace Zhangbaohua djh yy,qzr and ghy are i dont know mihailova saZk amOmlio mais cest pas Ca wallace is good输出 #1Qzrian Yugoslavian Suissvia Mohaian说明/提示对于100 % 100\%100%的数据1 ≤ N ≤ 100 1\le N\le 1001≤N≤100输入数据每行不超过256 256256个字符。C实现#includebits/stdc.husingnamespacestd;boolcheck(charc){return!islower(c)!isupper(c)c!\c!-;}voidconvert(strings){for(autoc:s)if(isupper(c))ca-A;}intmain(){ios::sync_with_stdio(false);cin.tie(0);mapstring,stringmp;string s,a,b;getline(cin,s);stringstreamss(s);intn;ssn;while(n--){getline(cin,s);s ;a;intflag0;for(autoc:s){if(check(c)){if(flagb.size())convert(b),mp[b]a;b;}else{if(flag)bc;elseac;}}}getline(cin,s);while(getline(cin,s)){s ;a;for(autoc:s){if(check(c)){convert(a);if(mp.count(a))bmp[a];a;}else{ac;}}coutb\n;}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容