539UVA卡坦岛

来源:互联网 发布:加密狗共享usb端口 编辑:程序博客网 时间:2024/06/07 14:02

不难的题目

#include<stdio.h>#include<string.h>int org[30][30];int node[30];int max;void dfs(int u,int sum,int (*gra)[30]){int flag = true;for(int v = 0; v < 30;v++){if(gra[u][v]){flag = false;gra[u][v]--;gra[v][u]--;dfs(v,sum+1,gra);gra[u][v]++;gra[v][u]++;}}if(flag){if(sum > max)max = sum;}}int main(){//freopen("input.txt","r",stdin);int n,m;while(scanf("%d%d",&n,&m)==2){if(!n&&!m) break;int n1,n2;memset(org,0,sizeof(org));memset(node,0,sizeof(node));for(int i = 0; i < m;i++){scanf("%d%d",&n1,&n2);org[n1][n2] = org[n2][n1] =1;node[n1]++;node[n2]++;}max = 0;for(int i = 0; i < 30;i++){if(node[i]){int cpy[30][30];memcpy(cpy,org,sizeof(org));dfs(i,0,cpy);}}printf("%d\n",max);}}


0 0