文章

7

粉丝

502

获赞

2

访问

12.8k

头像
题目1286 最短路径
我要提问
发布于2022年1月27日 11:05
阅读数 5.2k

OJ判断的输入和输出是一致的,为什么还是显示Wrong Answer,题目数据通过率为:50%???

#include<iostream>
#include<algorithm>//包含fill函数
using namespace std;

#define INF 0x3f3f3f
const int maxn = 1005;
int n,m;
int G[maxn][maxn];
int fa[maxn];
int dis[maxn];
bool vis[maxn];

int f(int x)
{
	int s = 1;
	for (int i = 1; i <= x; i++)
	{
		s = (s*2)%100000;//距离
	}
	return s;
}

void dijkstra(int x)
{
	fill(vis,vis+maxn,false);//按照单元赋值,将一个区间的元素都赋予val值
	                         //函数参数:fill(vec.begin(),vec.end(),val);val为将要替换的值
	fill(dis,dis+maxn,INF);
	for(int i = 0; i < n; i++)  dis[i] = G[x][i];
	dis[x] = 0;
	vis[x] = true;
	for (int i = 1; i < n; i++)
	{
		int min = INF;
		int u = -1;
		for (int j = 0; j < n; j++)
		{
			if (vis[j] == false && dis[j] < min)
			{
				min = dis[j];
				u = j;
			}
		}
		if (u == -1) return;
		vis[u] = true;
		for (int j = 0; j < n; j++)
		{
			if (vis[j] == false && dis[j] > dis[u] + G[u][j]...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发