QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#710695 | #8838. Jesse's Job | liaoyd | WA | 0ms | 3596kb | C++23 | 1.2kb | 2024-11-04 21:03:44 | 2024-11-04 21:03:45 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define vi vector<int>
#define pb push_back
#define pir pair<int, int>
const int P = 1e9 + 7;
const int N = 1e3 + 7;
const int inf = 0x3f3f3f3f3f3f3f3f; // longlong
const int ing = 1e18;
// const int mod = 998244353;
// cout << fixed << setprecision(5) << number << endl;
// tuple
//prev(it) next(it)
const int mod = 1e9 + 7;
int n, m, k;
int ax, bx, ay, by;
void solve()
{
cin >> n;
vector<int> vis(n + 1,0);
vector<int> a(n + 1);
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
int u = a[1], cnt = 1; vis[1] = 1;
//cout<<u<<" "<<vis[u]<<"?\n";
while (vis[u]==0) {
vis[u] = 1;
u=a[u];
cnt++;
}
if (cnt < n) {
cout << n << "\n" << cnt << "\n";
for (int i = 1; i <= n; i++) {
if (vis[i]) {
cout << i << " ";
}
}
cout << "\n"; return;
}
else {
cout << n - 2 << "\n";
vector<int> ans;
ans.push_back({ 1 });
int k = a[1];
while (k != 2) {
ans.push_back({ k }); k = a[k];
}
for (auto e : ans) {
cout << e << " ";
}
cout << "\n";
}
}
signed main()
{
cin.tie(0)->sync_with_stdio(0);
int _ = 1;
cin >> _;
while (_--)
{
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3596kb
input:
3 2 2 1 4 2 1 4 3 6 3 5 4 2 6 1
output:
0 1 4 2 1 2 4 1 3 4
result:
wrong answer Integer element pos[1] equals to 4, violates the range [1, 2] (test case 1)