题目链接:Codeforces 437A The Child and Homework
少看了一个条件,最后被HACK掉到203名,要不然就冲到100多一点了==。。
做这个题收获最大的是英语,A twice longer than B 表示 A >= 2 * B,A twice shorter than B表示 A * 2 <= B。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
struct AA
{
int a, i;
};
int cmp(AA b, AA c)
{
return b.a < c.a;
}
int main()
{
char a[120], b[120], c[120], d[120];
scanf("%s%s%s%s", a, b, c, d);
AA aa[4];
aa[0].a = strlen(a) - 2;
aa[0].i = 0;
aa[1].a = strlen(b) - 2;
aa[1].i = 1;
aa[2].a = strlen(c) - 2;
aa[2].i = 2;
aa[3].a = strlen(d) - 2;
aa[3].i = 3;
sort(aa, aa + 4, cmp);
int vis = 0;
int k;
if(aa[0].a * 2 <= aa[3].a && aa[0].a * 2 <= aa[2].a && aa[0].a * 2 <= aa[1].a)
{
vis++;
k = aa[0].i;
}
if(aa[3].a >= aa[0].a * 2 && aa[3].a >= aa[1].a * 2 && aa[3].a >= aa[2].a * 2)
{
vis++;
k = aa[3].i;
}
if(vis == 1)
cout << (char)(k + 'A') << endl;
else
cout << "C" << endl;
return 0;
}
本文深入探讨了Codeforces437A The Child and Homework这一编程挑战题目的核心思路及解题技巧。通过实际代码实现,详细解释了如何运用英语理解题意,特别是如何正确解析‘AtwicelongerthanB’和‘AtwiceshorterthanB’等关键条件。文章不仅提供了完整的代码实现,还分享了作者在解题过程中的思考和心得,对于提高编程能力和英语阅读理解能力都有显著帮助。
513

被折叠的 条评论
为什么被折叠?



