题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5090
题意:n个数,k,给n个数加上k的正倍数或者不加,问最后能不能凑成1 到 n的序列
题目分类:暴力
题目分析:因为每个数只能变大或者不变,并不能变小,所以要从小数开始往大凑。先排序,然后凑到1了之后然后再去凑2,这样一直往大凑
题目代码:
#include<bits/stdc++.h> using namespace std; int a[]; int main()
{
int t,n,k;
scanf("%d",&t);
while(t--)
{
scanf("%d %d",&n,&k);
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
}
sort(a+,a+n+);
bool flag=; for(int i=;i<=n;i++)
{
if(a[i]==i)
continue;
if(a[i]>i)
{
flag=;
break;
}
a[i]+=k;
sort(a+1,a+n+1);
i--;
}
if(flag)
printf("Tom\n");
else
printf("Jerry\n");
}
return ;
}