栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2750 Idiomatic Phrases Game

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2750 Idiomatic Phrases Game

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#define PI acos(-1.0)#define max(a,b) (a)>(b)? (a):(b)#define min(a,b) (a)>(b)? (b):(a)#define INT_MIN -0x7FFFFFFF#define INT_MAX 0x7FFFFFFFint n;struct node{ char f[10],b[10]; int t;}no[1010];int map[1010][1010];int time[1010];int s[1010];int main(){ int i,j,k; char str[100]; while(scanf("%d",&n),n) { int tt; for(i=0;i<n;i++) { scanf("%d%s",&tt,str); int len=strlen(str); no[i].t=tt; for(j=0;j<4;j++) no[i].f[j]=str[j]; no[i].f[4]=''; for(j=0;j<4;j++) no[i].b[j]=str[len-4+j]; no[i].b[4]=''; } for(i=0;i<=n;i++) for(j=0;j<=n;j++) map[i][j]=INT_MAX; for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(i==j) continue; if(strcmp(no[i].b,no[j].f)==0) { map[i][j]=no[i].t; } } } for(i=0;i<n;i++) time[i]=map[0][i]; memset(s,0,sizeof(s)); s[0]=1; time[0]=0; for(i=0;i<n-1;i++) { int mi=INT_MAX; int ar; for(j=0;j<n;j++) { if(!s[j] && mi>time[j]) { ar=j; mi=time[j]; } } s[ar]=1; for(k=0;k<n;k++) { if(!s[k] && map[ar][k]<INT_MAX && time[k]>time[ar]+map[ar][k]) { time[k]=time[ar]+map[ar][k]; } } } if(time[n-1]==INT_MAX) { printf("-1n"); } else printf("%dn",time[n-1]); } return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379635.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号