Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
啊,我快受不了,谁帮我找一组WA的测试数据?#include <stdio.h> #include <stdlib.h> #define max 10005 typedef struct villageinf { int a; int b; int dis; }village; int main(void) { village road[max]; int i,j,n,k,largersum; int node[max]; int num[max]; memset(road,0,sizeof(road)); memset(num,0,sizeof(num)); memset(node,0,sizeof(node)); n=0; while(scanf("%d%d%d",&road[n].a,&road[n].b,&road[n].dis)!=EOF) { if(road[n].a==0&&road[n].b==0) break; num[road[n].a]++; num[road[n].b]++; n++; } /*for(i=0;i<n;i++) printf("%d %d %d\n",road[i].a,road[i].b,road[i].dis);*/ k=0;largersum=0; //printf("%d\n",n); while(k<=n-2) { for(i=0;i<n;i++) { if(num[road[i].a]==1&&num[road[i].b]>0) { num[road[i].a]=0; if(largersum<node[road[i].b]+road[i].dis+node[road[i].a]) largersum=node[road[i].b]+road[i].dis+node[road[i].a]; if(node[road[i].b]<road[i].dis+node[road[i].a]) node[road[i].b]=road[i].dis+node[road[i].a]; road[i].dis=0; num[road[i].b]--; k++; //printf("%d,%d,%d,%d\n",road[i].a,node[road[i].b],road[i].b,k); if(k==n-1) break; } else if(num[road[i].b]==1&&num[road[i].a]>0) { num[road[i].b]=0; if(largersum<node[road[i].b]+road[i].dis+node[road[i].a]) largersum=node[road[i].b]+road[i].dis+node[road[i].a]; if(node[road[i].a]<road[i].dis+node[road[i].b]) node[road[i].a]=road[i].dis+node[road[i].b]; road[i].dis=0; num[road[i].a]--; k++; //printf("%d,%d,%d,%d\n",road[i].b,node[road[i].a],road[i].a,k); if(k==n-1) break; } } } for(i=0;i<n;i++) if(road[i].dis>0) { if(largersum<=node[road[i].a]+node[road[i].b]+road[i].dis) printf("%d\n",node[road[i].a]+node[road[i].b]+road[i].dis); else printf("%d\n",largersum); break; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator