这个是深搜的代码~
#include<stdio.h>
#include<string.h>
int visited[50];
int a[50][50];
int N,K,sucess;
void DFS(int i)
{
int j;
if(i==K-1)
{printf("Clever MM!/n"); sucess=1; return;}
for(j=0;j<N;j++)
if((a[i][j]==1)&&(!visited[j]))
{visited[j]=1;
DFS(j);
if(sucess)
return;
}
memset(visited,'/0',sizeof(visited));
}
int main()
{
int m,n;
while(scanf("%d %d",&N,&K)==2){
for(m=0;m<N;m++)
for(n=0;n<N;n++)
scanf("%d",&a[m][n]);
visited[0]=1;
sucess=0;
DFS(0);
if(sucess!=1)
printf("Naughty GG!/n");
}
return 0;
}