这是一道2016湘潭邀请赛的题目,记得那个时候看到这个题目就想到了最短生成树,然后给别人做,WA了,最后发现是有向图,然后我自己去写了个搜索,结果是RE吧
今天刚刚好想到这个题目,然后再来做,发现这个真的是个水题,但是当初看题目都没看懂,我也是醉了,题目都已经要求了是从第一个到最后一个的最短的路径,我们想岔了,然后鸭蛋。。。
http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1245
1 #include <stdio.h> 2 #include <string.h> 3 #define inf 0x3f3f3f3f 4 int main() 5 { 6 int m,n,a,b,c,falg; 7 int dis[100005]; 8 long long ans; 9 while(~scanf("%d%d",&m,&n)) 10 { 11 ans = 0; 12 falg = 1; 13 memset(dis,inf,sizeof(dis)); 14 for(int i = 1 ; i <= n ; i++ ) 15 { 16 scanf("%d%d%d",&a,&b,&c); 17 if(b==a+1&&c<dis[a]) dis[a] = c; 18 } 19 for(int i = 1 ; i < m ; i++) 20 { 21 if(dis[i]==inf) 22 { 23 falg = 0; 24 break; 25 } 26 ans+=dis[i]; 27 } 28 if(falg)printf("%lld\n",ans); 29 else printf("-1\n"); 30 } 31 }
时间: 2024-10-31 11:52:51