poj1129 2010.2.18

来源:互联网 发布:python 发送syslog 编辑:程序博客网 时间:2024/06/03 16:16

poj1129 2010.2.18


#include <iostream>bool map[27][27];int ans[27],n;bool check(int p){int i;for(i=0;i<n;i++){if((map[p][i]||map[i][p])&&ans[p]==ans[i])return false;}return true;}bool dfs(int p,int depth){if(p==n)return true;ans[p]++;while(!check(p))ans[p]++;if(ans[p]>depth)return false;elsereturn dfs(p+1,depth);}int main(){int i,x,y,j;char s[100];//freopen("in.txt","r",stdin);while(scanf("%d\n",&n),n){memset(map,false,sizeof(map));for(i=0;i<n;i++){gets(s);x=s[0]-'A';for(j=2;s[j]!='\0';j++){y=s[j]-'A';map[x][y]=true;}}for(i=1;i<=3;i++){memset(ans,0,sizeof(ans));if(dfs(0,i))break;}if(i==1)printf("%d channel needed.\n",i);elseprintf("%d channels needed.\n",i);}return 0;}


0 0
原创粉丝点击