QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#707358 | #8838. Jesse's Job | aYi_7# | WA | 0ms | 3508kb | C++17 | 1.2kb | 2024-11-03 15:38:13 | 2024-11-03 15:38:32 |
Judging History
answer
#include <bits/stdc++.h>
#define int long long
// using namespace std;
void solve() {
int n;
std::cin >> n;
std::vector<int> a(n + 1);
for(int i = 1; i <= n; i++) {
std::cin >> a[i];
}
std::vector<std::vector<int>> ans;
std::vector<bool> b(n + 1);
for(int i = 1; i <= n; i++) {
if(b[i] == true) continue;
int j = i;
std::vector<int> res;
while(a[j] != j && b[j] == false) {
b[j] = true;
res.emplace_back(j);
j = a[j];
}
b[j] = true;
// res.emplace_back(j);
ans.emplace_back(res);
}
if(ans.size() == 1) {
std::cout << n - 2 << '\n';
std::cout << 1 << '\n' << 1 << '\n';
}else {
std::cout << n << '\n';
std::cout << ans[0].size() << '\n';
for(auto &i : ans[0]) std::cout << i << ' ';
std::cout << '\n';
}
}
/*
3
2
2 1
4
2 1 4 3
6
3 5 4 2 6 1
*/
signed main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int t = 1;
std::cin >> t;
for (int i = 0; i < t; ++i) {
solve();
}
return 0;
}
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3508kb
input:
3 2 2 1 4 2 1 4 3 6 3 5 4 2 6 1
output:
0 1 1 4 2 1 2 4 1 1
result:
wrong answer Participant didn't find permutation (test case 3)