请教大佬!
  • 板块P1613 跑路
  • 楼主Hisy
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/1/7 20:07
  • 上次更新2024/1/8 08:12:45
查看原帖
请教大佬!
922691
Hisy楼主2024/1/7 20:07
#include<cstdio>
int min(int num1,int num2){
	if(num1<num2){
		return num1;
	};
	return num2;
};
int main(int argc,char **argv){
	int maxn,maxm;
	int dist[60][60];
	bool flag[60][60][66]={false};
	for(int row=0;row<60;++row){
		for(int col=0;col<60;++col){
			dist[row][col]=10;
		};
	};
	scanf("%d %d",&maxn,&maxm);
	for(int iter=1;iter<=maxm;++iter){
		int head,tail;
		scanf("%d %d",&head,&tail);
		dist[head][tail]=1;
		flag[head][tail][0]=true;
	};
	for(int key=1;key<=64;++key){
		for(int first=1;first<=maxn;++first){
			for(int second=1;second<=maxn;++second){
				for(int third=1;third<=maxn;++third){
					if(flag[first][second][key-1]&&flag[second][third][key-1]){
						flag[first][second][key]=true;
						dist[first][second]=1;
					};
				};
			};
		};
	};
	for(int first=1;first<=maxn;++first){
		for(int second=1;second<=maxn;++second){
			for(int third=1;third<=maxn;++third){
				dist[second][third]=min(dist[second][third],dist[second][first]+dist[first][third]);
			};
		};
	};
	printf("%d",dist[1][maxn]);
	return 0;
};

全WA掉了

2024/1/7 20:07
加载中...