首页 > 代码库 > Codeforces Round #250 (Div. 2) A. The Child and Homework
Codeforces Round #250 (Div. 2) A. The Child and Homework
注意题目长度不能考虑前缀,而且如果即存在一个选项的长度的两倍小于其他所有选项的长度,也存在一个选项的长度大于其他选项长度的两倍,则答案不是一个好的选择,只能选择C。
#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; struct Answer{ char item; int length; Answer(char item_ = ‘A‘, int length_ = 0):item(item_),length(length_){} bool operator<(const Answer& a) const{ return length < a.length; } }; int main(){ vector<Answer> ans; for(int i = 0 ; i < 4; ++ i){ string str; cin >> str; ans.push_back(Answer(str[0],str.length()-2)); } sort(ans.begin(),ans.end()); int index = 1; char correct = ‘C‘; for(index = 1;index < 4; ++ index){ if(ans[index].length < 2*ans[0].length) break; } if(index>=4) correct = ans[0].item; for(index = 0; index < 3; ++ index){ if(2*ans[index].length >ans[3].length) break; } if(index >= 3) { if(correct!=‘C‘) correct = ‘C‘; else correct = ans[3].item; } cout<<correct<<endl; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。