A - The Child and Homework

Once upon a time a child got a test consisting of multiple-choice questions as homework. A multiple-choice question consists of four choices: A, B, C and D. Each choice has a description, and the child should find out the only one that is correct.

Fortunately the child knows how to solve such complicated test. The child will follow the algorithm:

If there is some choice whose description at least twice shorter than all other descriptions, or at least twice longer than all other descriptions, then the child thinks the choice is great.
If there is exactly one great choice then the child chooses it. Otherwise the child chooses C (the child think it is the luckiest choice).
You are given a multiple-choice questions, can you predict child’s choose?

Input

The first line starts with “A.” (without quotes), then followed the description of choice A. The next three lines contains the descriptions of the other choices in the same format. They are given in order: B, C, D. Please note, that the description goes after prefix “X.”, so the prefix mustn’t be counted in description’s length.

Each description is non-empty and consists of at most 100 characters. Each character can be either uppercase English letter or lowercase English letter, or “_”.

Output

Print a single line with the child’s choice: “A”, “B”, “C” or “D” (without quotes).

Examples

Input
A.VFleaKing_is_the_author_of_this_problem
B.Picks_is_the_author_of_this_problem
C.Picking_is_the_author_of_this_problem
D.Ftiasch_is_cute
Output
D
Input
A.ab
B.abcde
C.ab
D.abc
Output
C
Input
A.c
B.cc
C.c
D.c
Output
B

Note

In the first sample, the first choice has length 39, the second one has length 35, the third one has length 37, and the last one has length 15. The choice D (length 15) is twice shorter than all other choices’, so it is great choice. There is no other great choices so the child will choose D.

In the second sample, no choice is great, so the child will choose the luckiest choice C.

In the third sample, the choice B (length 2) is twice longer than all other choices’, so it is great choice. There is no other great choices so the child will choose B.

本题题意:
本题就是我们在蒙题的时候的惯性思维,“就三短一长选最长,三长一短选最短,不断不长就选C”,不过在这个题中是有限制的,要是大于的话就要大于其他三个选项长度二倍,要是小于的话他长度的二倍就要全部小于其他三个选项长度,若是两种情况都存在或者其他种情况的话就选择C,我刚开始做的时候忘记考虑两种情况都存在了,这点需要注意。
我的代码是把所有的情况都列举了一下,比较好懂。
代码如下:

#include"stdio.h"
#include"string.h"
int main()
{
	char a[105];
	char b[105];
	char c[105];
	char d[105];
	//scanf("A.");
	gets(a);
	int x=strlen(a);
	x=x-2;
	//scanf("B.");
	gets(b);
	int n=strlen(b);
	n=n-2;
	//scanf("C.");
	gets(c);
	int m=strlen(c);
	m=m-2;
	//scanf("D.");
	gets(d);
	int l=strlen(d);
	l=l-2;
	int num=0,v;
	if(x>=2*n&&x>=2*m&&x>=2*l)
	{
		num++;
		v=0;
	 } 
	if(n>=2*x&&n>=2*m&&n>=2*l)
	 {
	 	num++;
		v=1;
	  } 
	  if(m>=2*x&&m>=2*n&&m>=2*l)
	  {
	  	num++;
		v=2;
	  }
	  if(l>=2*x&&l>=2*n&&l>=2*m)
	  {
	  	num++;
		v=3;
	  }
	  if(2*x<=n&&2*x<=m&&2*x<=l)
	{
		num++;
		v=0;
	 } 
	 if(2*n<=x&&2*n<=m&&2*n<=l)
	 {
	 	num++;
		v=1;
	  } 
	  if(2*m<=x&&2*m<=n&&2*m<=l)
	  {
	  	num++;
		v=2;
	  }
	  else if(2*l<=x&&2*l<=n&&2*l<=m)
	  {
	  	num++;
		v=3;
	  }
	  if(num==1)
	  {
	  	printf("%c\n",'A'+v);
	  }
	  else
	  {
	  	printf("C\n");
	  }
	  return 0;
 } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值