답안 #830405

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
830405 2023-08-19T06:01:30 Z mindiyak 정렬하기 (IOI15_sorting) C++17
0 / 100
3 ms 340 KB
#include "sorting.h"
#include <queue>
#include <vector>
#include <iostream>
using namespace std;


int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
    
	int R=0;
	int sorted = 0;

	for(int i=0;i<N;i++)if(S[i] == i)sorted++;

	// cout << sorted << endl;

	while(sorted<N){
		int dual = -1;
		int pos = -1;
		for(int i=0;i<N;i++){
			if(S[i] == i)continue;
			if(S[i] != i)pos = i;
			// cout << i << " " << S[i] << " " << S[S[i]] << endl;
			if(i == S[S[i]]){
				dual = 1;
				break;
			}
		}
		sorted += 1;
		swap(pos,S[pos]);
		P[R] = pos;
		Q[R] = S[pos];
		R++;
		// cout << "swap " << dual << " " << pos <<  " " << S[pos] << endl;
		if(dual == 1){
			sorted += 1;
		}
	}

	return R;
}


Compilation message

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:8:39: warning: unused parameter 'M' [-Wunused-parameter]
    8 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                   ~~~~^
sorting.cpp:8:46: warning: unused parameter 'X' [-Wunused-parameter]
    8 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                          ~~~~^~~
sorting.cpp:8:55: warning: unused parameter 'Y' [-Wunused-parameter]
    8 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                                   ~~~~^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 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 Correct 0 ms 212 KB Output is correct
5 Incorrect 0 ms 212 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 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 Correct 0 ms 212 KB Output is correct
5 Incorrect 0 ms 212 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Incorrect 1 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 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 Correct 0 ms 212 KB Output is correct
5 Incorrect 0 ms 212 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -