24h購物| | PChome| 登入
2009-07-28 18:47:40| 人氣479| 回應0 | 上一篇 | 下一篇

ACM 10926 Q10926: How Many Dependencies?

推薦 0 收藏 0 轉貼0 訂閱站台

作法:BFS

對每個點作一次BFS 把相連的串起來

/************************************************************/

#include<stdio.h>
#include<stdlib.h>
int map[101][101],maptop[101]={0};
main()
{
 int n,m,a,b,c,p;
 while(scanf("%d",&n)&&n!=0)
    {
      for(a=1;a<=n;a++) maptop[a]=0;
      for(a=1;a<=n;a++)
       {
         scanf("%d",&m);
            for(b=0;b<m;b++)
               {
                 scanf("%d",&p);
                 map[a][maptop[a]]=p;
                 maptop[a]++;
               }
       } 
      int max=0,po=0;
      for(a=1;a<=n;a++)
         {
           int queue[101]={0},top=0,appear[101]={0};
             queue[0]=a;appear[a]=1;
             for(b=0;b<=top;b++)
                {
                  int nn=queue[b];
                  for(c=0;c<maptop[nn];c++)
                     if(appear[map[nn][c]]==0)
                        {
                           top++;
                           queue[top]=map[nn][c];
                           appear[map[nn][c]]=1;
                        }
                }
             if(top>max||(top==max&&a<po))
               {max=top;po=a;}
         }
         printf("%d\n",po);
    }
 return 0;
}

台長: 來源不明
人氣(479) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 10004 Q10004: Bicoloring
此分類上一篇:ACM 10394 Q10394: Twin Primes

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文