标签:des style blog http color io os ar java
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 694 Accepted Submission(s):
283
http://acm.hdu.edu.cn/showproblem.php?pid=2377
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1912
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<set> 6 #include<map> 7 #include<stack> 8 #include<queue> 9 #include<vector> 10 using namespace std; 11 const int ms=10000; 12 const int inf=0xfffffff; 13 int zone_cnt[ms]; 14 int cnt[ms]; 15 int zone_num[ms][10]; 16 int nz,nr,cur; //cur 当前的站次,防止重复访问 17 int reach[ms]; 18 void bfs(int s) 19 { 20 int i,a,b; 21 int val,at; 22 queue<int> que[2];//滚动队列 23 a=0;b=1;val=0; 24 if(reach[s]<cur) 25 { 26 que[b].push(s); 27 reach[s]=cur; 28 cnt[s]=max(cnt[s],val+1); 29 } 30 while(!que[b].empty()) 31 { 32 swap(a,b); 33 val++; 34 while(!que[a].empty()) 35 { 36 at=que[a].front(); 37 que[a].pop(); 38 for(i=0;i<zone_cnt[at];i++) 39 { 40 if(reach[zone_num[at][i]]<cur) 41 { 42 que[b].push(zone_num[at][i]); 43 reach[zone_num[at][i]]=cur; 44 cnt[zone_num[at][i]]=max(cnt[zone_num[at][i]],val+1); 45 } 46 } 47 } 48 } 49 } 50 int main() 51 { 52 int T; 53 int i,j,t; 54 int id,mr; 55 int ret,center; 56 scanf("%d",&T); 57 while(T--) 58 { 59 memset(reach,-1,sizeof(reach)); 60 memset(cnt,0,sizeof(cnt)); 61 cur=0; 62 scanf("%d%d",&nz,&nr); 63 for(i=0;i<nz;i++) 64 { 65 scanf("%d",&id); 66 scanf("%d",&zone_cnt[id]); 67 for(j=0;j<zone_cnt[id];j++) 68 scanf("%d",&zone_num[id][j]); 69 } 70 for(i=0;i<nr;i++) 71 { 72 scanf("%d",&mr); 73 for(j=0;j<mr;j++) 74 { 75 scanf("%d",&id); 76 bfs(id); 77 cur++; 78 } 79 } 80 ret=inf;center=-1; 81 for(i=0;i<ms;i++) 82 { 83 if(reach[i]==cur-1&&cnt[i]<ret) 84 { 85 ret=cnt[i]; 86 center=i; 87 } 88 } 89 printf("%d %d\n",ret,center); 90 } 91 return 0; 92 }
标签:des style blog http color io os ar java
原文地址:http://www.cnblogs.com/767355675hutaishi/p/4049748.html