2014ACM上海邀请赛A解释称号

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int M=510;
int m,n;
int map[M][M], match[M], chk[M]; int dfs(int p)
{
int i;
for(i=1;i<=m;i++)
if( map[p][i] && chk[i]==0 )
{
chk[i]=1;
if( match[i]==0 || dfs( match[i] ) )
{
match[i]=p;
return 1;
}
}
return 0;
} int solve()
{
int i,res;
for(i=1,res=0; i<=n; i++)
{
memset(chk,0,sizeof(chk));
res+=dfs(i);
}
return res;
} int main()
{
// freopen("in","r",stdin);
// freopen("out","w",stdout); int k,i,x,t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&k);
memset(map,0,sizeof(map));
memset(match,0,sizeof(match));
for(i=1;i<=n;i++)
{
scanf("%d",&x);
while(x<=n){
map[i][x]=1;
x+=k;
}
}
m=n; if(solve()==n)
printf("Jerry\n");
else
printf("Tom\n");
}
return 0;
}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

上一篇:Isight 命令行运行任务


下一篇:mysql 将null转代为0