沧州国外网站建设,如何写网站文案,网站建设的目标与思路,商丘做网站优化题目链接如下#xff1a;
Online Judge
这道题我觉得题意有点问题#xff0c;它写“If multiple context words match morse perfectly, then select the matching word with the fewest characters.”#xff0c;但按这个题意写的代码无法AC#xff0c;只能选择最先perf…题目链接如下
Online Judge
这道题我觉得题意有点问题它写“If multiple context words match morse perfectly, then select the matching word with the fewest characters.”但按这个题意写的代码无法AC只能选择最先perfectly match的那个词。
AC代码如下
#include cstdio
#include string
#include map
#include vector
#include string.h
#include algorithm
#include iostream
const int INF 10000;int pivot, minGap, pivotGap;
std::vectorstd::string word, strVec;
char ch[11];
std::string s;
std::mapchar, std::string mp;
bool flag;int calGap(std::string a, std::string b){for(int i 0; i std::min(a.size(), b.size()); i){if(a[i] ! b[i]){return INF;}}return std::max(a.size(), b.size()) - std::min(a.size(), b.size());
}int main(){while(scanf(%s, ch) 1 ch[0] ! *){std::cin s;mp[ch[0]] s;}while(scanf(%s, ch) 1 ch[0] ! *){std::string str;for(int i 0; i strlen(ch); i){str mp[ch[i]];}word.push_back(ch);strVec.push_back(str);}while(std::cin s s ! *){bool exclamation false;flag false;minGap INF;for(int i 0; i strVec.size(); i){if(strVec[i] s){if(!flag){pivot i;flag true;} else{exclamation true;}} else{int tmp calGap(s, strVec[i]);if(tmp minGap){minGap tmp;pivotGap i;}}}if(flag){printf(%s%s\n, word[pivot].c_str(), exclamation ? ! : );} else{printf(%s?\n, word[pivotGap].c_str());}}return 0;
}