4 条题解
-
1
#include <string.h> #define inf 9999999 #define min(x,y) x>y?y:x int m,n; int a[505]; int e[505][505]; int main() { scanf("%d%d",&m,&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(i==j) e[i][j]=0; else e[i][j]=inf; for(int i=0;i<m;i++){ int k=1; while(1){ char ch; scanf("%d",&a[k++]); ch=getchar(); if(ch=='\n') break; } for(int i=1;i<k-1;i++) for(int j=i+1;j<k;j++) e[a[i]][a[j]]=1; } for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(e[i][j]>e[i][k]+e[k][j]) e[i][j]=e[i][k]+e[k][j]; if(e[1][n]>=inf) printf("NO\n"); else printf("%d",e[1][n]-1); return 0; }
信息
- ID
- 304
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 6
- 标签
- 递交数
- 126
- 已通过
- 36
- 上传者