Codeforces Round #250 (Div. 2) A - The Child and Homework
Posted llguanli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #250 (Div. 2) A - The Child and Homework相关的知识,希望对你有一定的参考价值。
传送门Codeforces Round #250 (Div. 2) A - The Child and Homework
第一次做完之后交上去,过了例子。顺手就锁定了。。。然后一个小时之后就被HACK了
一開始依据题目的条件推断,假设有一个符合就输出,然后进行下一组。
可是假设同一时候满足两个条件,是应该输出C的。
哎。。
对四个句子长度进行排序。分别比較第一个和第二个&第三个和第四个,假设都满足条件输出C。
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int cmp(const void *_a, const void *_b) { char *a = (char *)_a; char *b = (char *)_b; return strlen(a) - 2 - (strlen(b) - 2); } int main() { //freopen("input.txt", "r", stdin); char str[5][200]; bool flag1, flag2; while (gets(str[0])) { flag1 = flag2 = false; for (int i = 1; i < 4; i++) gets(str[i]); qsort(str, 4, sizeof(str[0]), cmp); int flen = strlen(str[0]) - 2, slen = strlen(str[1]) - 2, tlen = strlen(str[2]) - 2, llen = strlen(str[3]) - 2; if (2 * flen <= slen) flag1 = true; if (llen >= tlen * 2) flag2 = true; if (!flag1 && !flag2 || (flag1 && flag2)) { printf("C\n"); continue; } if (flag1) printf("%c\n", str[0][0]); if (flag2) printf("%c\n", str[3][0]); } return 0; }
以上是关于Codeforces Round #250 (Div. 2) A - The Child and Homework的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ3625 [Codeforces Round #250]小朋友和二叉树
bzoj3625 [Codeforces Round #250]小朋友和二叉树
[bzoj3625][Codeforces Round #250]小朋友和二叉树
Codeforces Round #250 (Div. 2) A - The Child and Homework
Codeforces Round #250 (Div. 1) - D. The Child and Sequence(线段树)