#include <iostream>
using namespace std;
int cnt[50000];
int findSwapPairs(int n, int s[], int m, int x[], int y[], int p[], int q[]){
for (int i=0;i<m;i++)
cnt[x[i]]++, cnt[y[i]]++;
for (int i=0;i<m;i++){
// for (int j=0;j<n;j++)
// cout<<s[j]<<' ';
// cout<<'\n';
swap(s[x[i]], s[y[i]]);
cnt[x[i]]--, cnt[y[i]]--;
if (s[x[i]] == y[i] and s[y[i]] == x[i]){
p[i] = x[i], q[i] = y[i];
swap(s[x[i]], s[y[i]]);
continue;
}
int id = 0, c = cnt[0], id2;
for (int j=0;j<n;j++){
if (s[j] != j and (s[id] == id or c > cnt[j]))
id = j, c = cnt[j];
}
for (int j=0;j<n;j++){
if (s[j] == id)
id2 = j;
}
p[i] = id, q[i] = id2;
swap(s[id], s[id2]);
}
return m;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |