답안 #795544

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
795544 2023-07-27T11:08:52 Z Josia 정렬하기 (IOI15_sorting) C++17
0 / 100
1 ms 468 KB
#include "sorting.h"
#include <bits/stdc++.h>
using namespace std;



int findSwapPairs(int N, int _S[], int M, int X[], int Y[], int P[], int Q[]) {
	for (int i = 0; i<N; i++) {
		assert(X[i] == 0);
		assert(Y[i] == 0);
	}


	if (N == 1) return 0;
	vector<int> S(N);
	for (int i = 0; i<N; i++) S[i] = _S[i];
	
    for (int i = 0; i<N; i++) {
		for (int j = 0; j<N; j++) {
			if (S[j] == i) {
				swap(S[i], S[j]);
				P[i]=i;
				Q[i]=j;
				break;
			}
		}
	}

	assert(is_sorted(S.begin(), S.end()));
	return N;
}






// int findSwapPairs(int N, int _S[], int M, int X[], int Y[], int P[], int Q[]) {
// 	if (N == 1) return 0;
// 	vector<int> S(N);
// 	for (int i = 0; i<N; i++) S[i] = _S[i];

//     for (int i = 2; i<N; i++) {
// 		swap(S[X[i-2]], S[Y[i-2]]);
// 		for (int j = 0; j<N; j++) {
// 			if (S[j] == i) {
// 				swap(S[i], S[j]);
// 				P[i-2]=i;
// 				Q[i-2]=j;
// 				break;
// 			}
// 		}
// 	}
// 	if (S[0] == 0) return N-2;
	
// 	swap(S[X[N-2]], S[Y[N-2]]);
// 	if (S[0] == 0) {P[N-2]=0;Q[N-2]=0;}
// 	else {P[N-2]=0;Q[N-2]=1;}
	
// 	return N-1;
// }


Compilation message

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:7:40: warning: unused parameter 'M' [-Wunused-parameter]
    7 | int findSwapPairs(int N, int _S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                    ~~~~^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Incorrect 0 ms 212 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Incorrect 0 ms 212 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 340 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Incorrect 0 ms 212 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 468 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 468 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -