题目链接:http://codeforces.com/problemset/problem/437/A

题目意思:给出四个选项A、B、C、D选项的内容描述,要求选出符合以下条件的一项。

(1)如果某个选项描述(排除前缀X.)的长度至少两倍短于其他选项,即 2*某个选项的长度 <= 其他选项的长度; 或者某个选项的长度至少两倍长于其他选项,即 其他选项的长度 <= 2*某个选项的长度,那么就认为该选项是great的。

(2)如果只有一个great 的选项,就输出该选项(A or B or C or D),否则输出C。

一开始对第二个条件有少少理解错了,被一个印度人hack了(乌冬兄教我看的),我刹时对他恨之入骨...哈哈哈,说笑,错了是件好事。接着死改都过不了hack,果断做B了。后来经乌冬兄的引导(其实他说的我已经知道的了),反正都是很感谢他。本来搞到很晚都过不了就关电脑了,关了电脑洗漱的时候顿时灵感出现,马上开回,终于过了^_^!!!

关键就是 choice 被认为是great时,多于一个是如何理解的!就是同时存在 2*某个选项的长度 <= 其他选项的长度  和   其他选项的长度 <= 2*某个选项的长度,此时great的choice就不少于一个了。只能输出C!还有就是如果都没有这两种情况的任意一种,也需要输出C!

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std; const int maxn = + ;
char a[maxn], b[maxn], c[maxn], d[maxn]; struct node
{
int len;
char letter;
}choice[]; int cmp(node x, node y)
{
return x.len < y.len;
} int main()
{
while (cin >> a >> b >> c >> d)
{
memset(choice, , sizeof(choice));
choice[].len = strlen(a) - ;
choice[].letter = 'A';
choice[].len = strlen(b) - ;
choice[].letter = 'B';
choice[].len = strlen(c) - ;
choice[].letter = 'C';
choice[].len = strlen(d) - ;
choice[].letter = 'D';
sort(choice, choice+, cmp); if (*choice[].len <= choice[].len)
{
if (choice[].len >= *choice[].len)
printf("C\n");
else
printf("%c\n", choice[].letter);
}
else if (choice[].len >= *choice[].len)
{
if (*choice[].len <= choice[].len)
printf("C\n");
else
printf("%c\n", choice[].letter);
}
else
printf("C\n");
}
return ;
}

codeforces 437A. The Child and Homework 解题报告的更多相关文章

  1. Codeforces 437A The Child and Homework

    题目链接:Codeforces 437A The Child and Homework 少看了一个条件,最后被HACK掉到203名,要不然就冲到100多一点了==.. 做这个题收获最大的是英语,A t ...

  2. codeforces 437B. The Child and Set 解题报告

    题目链接:http://codeforces.com/contest/437/problem/B 题目意思:给出两个整数 sum 和 limit,问能否从1 - limit 这些数中选出一些数(注意: ...

  3. codeforces C1. The Great Julya Calendar 解题报告

    题目链接:http://codeforces.com/problemset/problem/331/C1 这是第一次参加codeforces比赛(ABBYY Cup 3.0 - Finals (onl ...

  4. codeforces B. Eugeny and Play List 解题报告

    题目链接:http://codeforces.com/problemset/problem/302/B 题目意思:给出两个整数n和m,接下来n行给出n首歌分别的奏唱时间和听的次数,紧跟着给出m个时刻, ...

  5. codeforces 433C. Ryouko's Memory Note 解题报告

    题目链接:http://codeforces.com/problemset/problem/433/C 题目意思:一本书有 n 页,每页的编号依次从 1 到 n 编排.如果从页 x 翻到页 y,那么| ...

  6. codeforces 556B. Case of Fake Numbers 解题报告

    题目链接:http://codeforces.com/problemset/problem/556/B 题目意思:给出 n 个齿轮,每个齿轮有 n 个 teeth,逆时针排列,编号为0 ~ n-1.每 ...

  7. codeforces 510B. Fox And Two Dots 解题报告

    题目链接:http://codeforces.com/problemset/problem/510/B 题目意思:给出 n 行 m 列只有大写字母组成的字符串.问具有相同字母的能否组成一个环. 很容易 ...

  8. codeforces 505A. Mr. Kitayuta's Gift 解题报告

    题目链接:http://codeforces.com/problemset/problem/505/A 题目意思:给出一个长度不大于10的小写英文字符串 s,问是否能通过在字符串的某个位置插入一个字母 ...

  9. codeforces 499A.Inna and Pink Pony 解题报告

    题目链接:http://codeforces.com/problemset/problem/499/A 题目意思:有两种按钮:1.如果当前观看的时间是 t,player 可以自动处理下一分钟,姑且理解 ...

随机推荐

  1. Codevs 1026 逃跑的拉尔夫

     时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且 ...

  2. css3鼠标点击穿透--摘抄

    有些时候网页中用到了一些绝对定位的Div,因为需要事先这个Div是隐藏的,但是它所在的位置会遮挡住鼠标点击事件.这个时候可以用CCS3中的pointer-events属性来解决.   //穿透该层 p ...

  3. hdu - 3594 Cactus (强连通)

    http://acm.hdu.edu.cn/showproblem.php?pid=3594 判断给定的图是否是强连通的,并且每条边都只属于一个连通分量. 判断强连通只需要判断缩点之后顶点数是否为1即 ...

  4. Codeforces D. Iahub and Xors

    题目大意:给定一个N*N的区间,1:对(x0,y0,x1,y1)每个直 都xor v: 2: 求(x0,y0,x1,y1)区间的 sum xor: http://codeforces.com/blog ...

  5. VirtualBox虚拟机出现被召者 RC: E_NOINTERFACE (0x80004002)

    选中VirtualBox右键 就可以正常运行了

  6. 安装配置JDK+Eclipse+Maven、Eclipse里新建Maven Project以及HDFS命令和Java API-课堂内容

    步骤:1.安装JDK→2.安装Eclipse→3.安装Maven→4. Eclipse里配置Maven (下载Windows版本,在Windows里安装使用.) 1.安装配置JDK ①官网下载Java ...

  7. 《深入理解mybatis原理》 MyBatis缓存机制的设计与实现

    本文主要讲解MyBatis非常棒的缓存机制的设计原理,给读者们介绍一下MyBatis的缓存机制的轮廓,然后会分别针对缓存机制中的方方面面展开讨论. MyBatis将数据缓存设计成两级结构,分为一级缓存 ...

  8. 《深入理解mybatis原理》 MyBatis的二级缓存的设计原理

    MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能.本文将全面分析MyBatis的二级缓存的设计原理. 如上图所示,当开一个会话时,一个SqlS ...

  9. Maven用项目模板生成项目

    Archetype插件是Maven生成项目的项目模板,项目模板就是一个框,把文件夹这些定好,然后就可以在上开写具体逻辑等等. 最常用的命令: mvn archetype:generate 这个是生成一 ...

  10. 通过BSSID和无线流量传输后门Payload

    本文将探讨无线接入点(AP)和BSSID(MAC地址AP).我们不借助文件系统加密和文件系统中(仅内存中)的硬编码Payload即可获得后门Payload,通过该方法可绕过所有的杀软,可以不使用Pay ...