QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#859907#9960. BaggageNightmare07WA 0ms3968kbC++141.4kb2025-01-18 08:22:062025-01-18 08:22:06

Judging History

你现在查看的是最新测评结果

  • [2025-01-18 08:22:06]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3968kb
  • [2025-01-18 08:22:06]
  • 提交

answer

#include <bits/stdc++.h>

#define i64 long long

using namespace std;

const i64 N = 410;

i64 n, m, a, b, c, d;
i64 Mp[N][N][3];

int main() {
	scanf("%lld%lld", &n, &m);
	for (i64 i = 1; i <= n; i ++) {
		for (i64 j = 1; j <= n; j ++) {
			for (i64 k = 0; k <= 2; k ++) {
				Mp[i][j][k] = 1e18;
			}
		}
	}
	
	for (i64 i = 1; i <= m; i ++) {
		scanf("%lld%lld%lld%lld", &a, &b, &c, &d);
		for (i64 j = d; j >= 0; j --) Mp[a][b][j] = min(Mp[a][b][j], c);
	}
	for (i64 i = 1; i <= n; i ++) Mp[i][i][0] = Mp[i][i][1] = Mp[i][i][2] = 0;
	
	for (i64 k = 1; k <= n; k ++) {
		for (i64 i = 1; i <= n; i ++) {
			for (i64 j = 1; j <= n; j ++) {
				Mp[i][j][0] = min(Mp[i][j][0], Mp[i][k][0] + Mp[k][j][0]);
			}
		}
	}
	
	for (i64 k = 1; k <= n; k ++) {
		for (i64 i = 1; i <= n; i ++) {
			for (i64 j = 1; j <= n; j ++) {
				Mp[i][j][1] = min(Mp[i][j][1], Mp[i][k][1] + Mp[k][j][1]);
			}
		}
	}
	
	for (i64 k = 1; k <= n; k ++) {
		for (i64 i = 1; i <= n; i ++) {
			for (i64 j = 1; j <= n; j ++) {
				Mp[i][j][2] = min(Mp[i][j][2], Mp[i][k][2] + Mp[k][j][2]);
				Mp[i][j][2] = min(Mp[i][j][2], Mp[i][k][2] + Mp[k][j][1] * 2 + Mp[j][k][0]);
			}
		}
	}
	
	for (i64 i = 1; i <= n; i ++) {
		for (i64 j = 1; j <= n; j ++) {
			if (Mp[i][j][2] >= 1e18) Mp[i][j][2] = -1;
			printf("%lld ", Mp[i][j][2]);
		}
		puts("");
	}
	
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3712kb

input:

5 7
1 2 500 2
2 3 100 1
3 5 20 2
5 4 5 1
4 2 1 0
3 4 40 2
5 4 77 1

output:

0 500 726 751 746 
-1 0 226 251 246 
-1 -1 0 40 20 
-1 -1 -1 0 -1 
-1 -1 -1 131 0 

result:

ok 25 numbers

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3968kb

input:

30 5000
1 15 15034 0
1 15 15034 0
24 28 14745 2
1 15 15034 0
16 25 13210 0
16 22 26942 0
24 20 5423 1
4 12 636 0
16 12 19327 0
1 15 15034 0
1 15 15034 0
3 28 18940 2
1 15 15034 0
15 9 6468 0
20 3 6233 2
19 4 10829 2
1 15 15034 0
26 6 20998 0
1 15 15034 0
1 15 15034 0
1 15 15034 0
4 14 20515 2
1 15 1...

output:

0 868 1159 2911 3001 1108 1557 3972 596 1521 4385 1332 3230 871 2010 2145 1610 783 2009 1490 2120 3440 2627 4515 228 958 2630 4394 3681 2618 
2534 0 291 3106 3753 3127 4053 4838 3130 2387 4580 464 4486 1719 2784 2818 2476 3317 2343 777 2777 3121 1759 5381 2762 1354 5164 6928 3603 3370 
2243 3111 0 2...

result:

wrong answer 4th numbers differ - expected: '2449', found: '2911'