답안 #861290

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
861290 2023-10-15T19:48:09 Z Mizo_Compiler Cat (info1cup19_cat) C++14
40 / 100
308 ms 12896 KB
#include <bits/stdc++.h>
 
using namespace std;
vector<pair<int,int>> con;
bool vis[200001];int arr[200001];
int main(){
    ios_base::sync_with_stdio(false);cin.tie(0);
    int t;cin>>t;
    z:while(t--){
        int n;cin>>n;
        for(int i = 1;i<=n;i++)vis[i] = 0;
        con.clear();
        int pos[n+1];
        for(int i = 1;i<=n;i++){
            cin>>arr[i];pos[arr[i]] = i;
        }
        int g = 0;int lol = 0;
        for(int i = 1;i<=n/2;i++){
            if(arr[i]!=i)g++;
            if(n-arr[i]+1!=arr[n-i+1]){
                cout<<-1<<endl;
                goto z;
            }if(arr[i]>n/2){
                lol++;
            }
        }
        if(lol&1){
            cout<<-1<<endl;
            goto z;
        }
        for(int i = 1;i<=n;i++){
            while(pos[i]!=i&&pos[i]!=n-i+1) {
                int tmp=pos[i];
                con.push_back({i,tmp});
                swap(pos[i],pos[tmp]);
                swap(pos[n-i+1],pos[n-tmp+1]);
            }
        }
      	for (int i = 1; i <= n/2; i++) {
          	if (pos[i] != i)con.push_back({i, pos[i]});
        }
        cout<<con.size()<<" "<<con.size()<<"\n";
        for(auto i:con)cout<<i.first<<" "<<i.second<<"\n";
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 344 KB Correct number of moves
# 결과 실행 시간 메모리 Grader output
1 Correct 17 ms 592 KB Correct number of moves
2 Correct 14 ms 604 KB Correct number of moves
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 344 KB Correct number of moves
2 Correct 17 ms 592 KB Correct number of moves
3 Correct 14 ms 604 KB Correct number of moves
4 Correct 15 ms 600 KB Correct number of moves
5 Correct 6 ms 348 KB Correct number of moves
6 Correct 5 ms 348 KB Correct number of moves
# 결과 실행 시간 메모리 Grader output
1 Correct 17 ms 592 KB Correct number of moves
2 Correct 14 ms 604 KB Correct number of moves
3 Correct 283 ms 10556 KB Correct number of moves
4 Correct 274 ms 9948 KB Correct number of moves
5 Correct 297 ms 12428 KB Correct number of moves
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 344 KB Correct number of moves
2 Correct 17 ms 592 KB Correct number of moves
3 Correct 14 ms 604 KB Correct number of moves
4 Correct 15 ms 600 KB Correct number of moves
5 Correct 6 ms 348 KB Correct number of moves
6 Correct 5 ms 348 KB Correct number of moves
7 Correct 283 ms 10556 KB Correct number of moves
8 Correct 274 ms 9948 KB Correct number of moves
9 Correct 297 ms 12428 KB Correct number of moves
10 Correct 290 ms 9828 KB Correct number of moves
11 Correct 264 ms 8148 KB Correct number of moves
12 Correct 283 ms 11468 KB Correct number of moves
13 Correct 308 ms 12896 KB Correct number of moves
14 Correct 282 ms 11308 KB Correct number of moves