QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#369873#5095. 九王唱zyc0704190 1ms3996kbC++201.3kb2024-03-28 18:55:552024-03-28 18:55:56

Judging History

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

  • [2024-03-28 18:55:56]
  • 评测
  • 测评结果:0
  • 用时:1ms
  • 内存:3996kb
  • [2024-03-28 18:55:55]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
const int N = 5005;

inline int read() {
	char ch = getchar(); int x = 0;
	while (!isdigit(ch)) {ch = getchar();};
	while (isdigit(ch)) {x = x * 10 + ch - 48; ch = getchar();}
	return x;
}

int a[N][N], b[N][N];

void gen(int n, int seed) {
	mt19937 rnd(seed);
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= n + 1; ++j)
			b[i][j] = read();
		for (int j = 1; j <= n + 1; ++j) a[i][b[i][j]] = j;
	}
}

int n, seed, pos[N], id[N], sum, now;
bool vis[N];

int main() {
	n = read(); seed = read();
	if (seed) gen(n, seed);
	else {
		for (int i = 1; i <= n; ++i)
			for (int j = 1; j <= n + 1; ++j)
				b[i][j] = read(), a[i][b[i][j]] = j;
	}
	sum = (n + 1) * (n + 2) / 2;
	for (int i = n; i >= 1; --i) {
		int j = 1;
		while (vis[a[i][j]]) j++;
		pos[a[i][j]] = i; id[i] = a[i][j];
		vis[a[i][j]] = true;
		now += a[i][j];
	}
	printf("%d ", sum - now);
	for (int p = 2; p <= n; ++p) {
		int x = p - 1, v = a[x][1];
		pos[id[x]] = 0; now -= id[x]; vis[id[x]] = false;
		while (true) {
			if (pos[v] == 0) {
				vis[v] = true;
				pos[v] = x; id[x] = v;
				now += v;
				break;
			}else {
				int y = pos[v];
				id[x] = v;
				pos[v] = x;
				x = y; v = b[x][v];
				while (vis[a[x][v]]) v++;
				v = a[x][v];
			}
		}
		printf("%d ", sum - now);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 8
Accepted
time: 1ms
memory: 3856kb

input:

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

output:

5 5 5 5 5 5 5 5 

result:

ok 8 numbers

Test #2:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

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

output:

7 7 7 7 7 7 7 7 

result:

ok 8 numbers

Test #3:

score: 0
Accepted
time: 0ms
memory: 3996kb

input:

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

output:

6 6 6 6 6 6 6 6 

result:

ok 8 numbers

Test #4:

score: 0
Accepted
time: 0ms
memory: 3936kb

input:

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

output:

3 3 3 3 3 3 3 3 

result:

ok 8 numbers

Test #5:

score: 0
Accepted
time: 1ms
memory: 3900kb

input:

7 0
8 1 5 4 7 6 3 2
8 1 5 7 2 6 4 3
8 1 5 2 7 3 4 6
8 1 5 3 6 7 2 4
8 1 5 4 6 7 2 3
8 1 5 3 7 4 2 6
8 1 5 4 3 2 6 7

output:

1 1 1 1 1 1 1 

result:

ok 7 numbers

Test #6:

score: -8
Wrong Answer
time: 0ms
memory: 3816kb

input:

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

output:

3 3 3 3 3 3 3 1 

result:

wrong answer 4th numbers differ - expected: '6', found: '3'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Skipped

Dependency #1:

0%

Subtask #4:

score: 0
Skipped

Dependency #1:

0%