描述:这道题真被坑死了,试了好几次才知道后台测试数据存在孤立点,所以好几次wa……
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,m,flag[30][30],count,num[30][30];
void dfs(int sum,int site)
{
if(sum>count) count=sum;
for(int i=0; i<n; i++)
if(num[site][i]&&i!=site&&!flag[site][i])
{
flag[i][site]=flag[site][i]=1;
dfs(sum+1,i);
flag[i][site]=flag[site][i]=0;
}
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("a.txt","r",stdin);
#endif
while(scanf("%d%d",&n,&m)!=EOF)
{
if(!n&&!m) break;
memset(num,0,sizeof(num));
memset(flag,0,sizeof(flag));
int x,y;
for(int i=0; i<m; i++)
{
scanf("%d%d",&x,&y);
num[x][y]=num[y][x]=1;
}
count=0;
for(int i=0; i<n; i++) dfs(0,i);
printf("%d\n",count);
}
return 0;
}
539 - The Settlers of Catan
最新推荐文章于 2019-05-19 11:14:00 发布