admin管理员组文章数量:1612827
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
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
Output for Sample Input
Case 1: mun took chocolate from all
Case 2: no thief
简单的模拟,最多两个人的巧克力不一样,排序下就行
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <cstdio>
#include <set>
#include <cmath>
#include <algorithm>
#define INF 0x3f3f3f3f
#define MAXN 2005
#define Mod 10001
using namespace std;
struct Node
{
string name;
int cube;
};
Node p[MAXN];
bool cmp(Node a,Node b)
{
return a.cube<b.cube;
}
int main()
{
int t,cnt=1;
scanf("%d",&t);
while(t--)
{
int x,y,z,n;
scanf("%d",&n);
for(int i=0;i<n;++i)
{
cin>>p[i].name>>x>>y>>z;
p[i].cube=x*y*z;
}
sort(p,p+n,cmp);
cout<<"Case "<<cnt++<<": ";
if(p[0].cube!=p[n-1].cube)
{
cout<<p[n-1].name<<" took chocolate from "<<p[0].name<<endl;
}
else
cout<<"no thief"<<endl;
}
return 0;
}
版权声明:本文标题:Lightoj1249——Chocolate Thief (模拟) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726559946a1075728.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论