文章
7
粉丝
502
获赞
2
访问
16.5k
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]...
登录后发布评论
暂无评论,来抢沙发