Light oj 1249 - Chocolate Thief【水】

1249 - Chocolate Thief
Time Limit: 1 second(s)Memory Limit: 32 MB

I gave some chocolates to students for their extraordinary performances. A chocolate is a cube shaped thing, which has length, width and height. All the students got the same amount of chocolates; their dimensions may be different but the volumes are same.

Now some of the students are claiming that there is one chocolate thief amongst them. So, it's not an easy task for me to find the chocolate thief, so I am asking your help.

You are given the names of the students and the dimensions of their chocolates; you have to find the name of the chocolate thief. You can assume that there can be at most one thief and if there is a thief, he took some portion of the chocolate from another student (not students).

Input

Input starts with an integer T (≤ 100), denoting the number of test cases.

Each case starts with a line containing an integer n (2 ≤ n ≤ 100) denoting the number of students. Each of the next n lines contains a name and three integers denoting the length, width and height of his current chocolate share. Names are strings containing alphanumeric characters and the length of a name is between 1 and 20. And length, width and height will lie in the range [1, 100]. Input follows the above restrictions.

Output

For each case, print the case number first. Then if no thief is found, print 'no thief'. Otherwise print 'x took chocolate from y' where x is the name of the chocolate thief, and y is the name of the person from whom the chocolate was taken.

Sample Input

Output for Sample Input

2

11

atq 3 4 3

mun 10 4 1

sam1 6 6 1

sam2 18 2 1

mub 1 36 1

tan 1 4 9

sha 4 3 3

di 3 12 1

nab 2 2 9

all 8 4 1

fah 3 2 6

2

ja 10 10 10

em 2 50 10

Case 1: mun took chocolate from all

Case 2: no thief



每个人都有相同体积的糖果,其中有一个人偷走了另一个人的一些糖果,让你找出谁偷了谁的....

直接统计就行了....

#include<cstdio>
#include<cstring>
struct node
{
	char s[55];
	int num;
}x[105];
int main()
{
	int t;
	scanf("%d",&t);
	for(int k=1;k<=t;++k)
	{
		int n,sum=0;
		scanf("%d",&n);
		for(int i=0;i<n;++i)
		{
			int a,b,c;
			scanf("%s%d%d%d",x[i].s,&a,&b,&c);
			x[i].num=a*b*c;
			sum+=x[i].num;
		}
		int ave=sum/n,a=0,b=0;
		for(int i=0;i<n;++i)
		{
			if(x[i].num>ave)
			{
				a=i;
			}
			else if(x[i].num<ave)
			{
				b=i;
			}
		}
		if(a+b==0)
		{
			printf("Case %d: no thief\n",k);
		}
		else
		{
			printf("Case %d: %s took chocolate from %s\n",k,x[a].s,x[b].s);
		}
	}
	return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值