QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#440368#1252. Floyd-Warshallgrass8cowWA 1ms3772kbC++17990b2024-06-13 17:03:312024-06-13 17:03:32

Judging History

This is the latest submission verdict.

  • [2024-06-13 17:03:32]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3772kb
  • [2024-06-13 17:03:31]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int I=1e9;
int n,m;
int f[2010][2010];
int sta[2010],t;
int d[2010];
void ad(int &x,int y){if(x>y)x=y;}
void wrt(int x){
	if(x<10){putchar('0'+x);return;}
	wrt(x/10),putchar('0'+(x%10));
}
bool vis[2010];
int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(i!=j)f[i][j]=I;
    for(int i=1,u,v,w;i<=m;i++)scanf("%d%d%d",&u,&v,&w),f[u][v]=w;
    for(int i=1;i<=n;i++){
        t=0;
        for(int j=1;j<=n;j++)d[j]=f[i][j];
        memset(vis,0,sizeof(vis));
        for(int j=1;j<=n;j++)if(d[j]<I)vis[j]=1,sta[++t]=j;
        for(int j=1;j<=n;j++){
            for(int k=1;k<=t;k++)ad(d[j],d[sta[k]]+f[sta[k]][j]);
            if(!vis[j]&&d[j]<I)sta[++t]=j,vis[j]=1;
            if(d[j]==I)putchar('-'),putchar('1');
            else wrt(d[j]);
            putchar((j==n)?'\n':' ');
        }
		for(int j=1;j<=n;j++)f[i][j]=d[j];
    }
    return 0;
}

详细

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3772kb

input:

4 5
2 3 4
3 4 3
4 2 2
1 3 1
1 2 9

output:

0 9 1 4
-1 0 4 7
-1 5 0 3
-1 2 6 0

result:

wrong answer expected '1', found '0'