답안 #1053805

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1053805 2024-08-11T17:50:42 Z Osplei 정렬하기 (IOI15_sorting) C++17
0 / 100
1 ms 348 KB
#include "sorting.h"
#include <bits/stdc++.h>

using namespace std;

#define pb push_back

typedef long long ll;
typedef pair <ll, ll> LL;

int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {

  vector <int> orden;
  int ans = 0, pos = 0;

  for (int i = 0; i < N; i++) {
    orden.pb(S[i]);
  }

  sort(orden.begin(), orden.end());

  if (N == 1) {
    P[0] = 0;
    Q[0] = 0;
    return 0;
  }

  for (int i = 0; i < N; i++) {

    if (orden[i] != S[i]) {
      
      ans++;
      
      swap(S[0], S[1]);
      
      for (int j = i; j < N; j++) {
        if (orden[i] == S[j]) {

          swap(S[i], S[j]);

          P[pos] = i;
          Q[pos] = j;

          pos++;

          break;
        }
      }

      P[pos] = 0;
      Q[pos] = 0;
      pos++;
    }

  }

  for (int i = 0; i < N; i++) {

    if (orden[i] != S[i]) {
      
      ans++;
      
      swap(S[0], S[1]);
      
      for (int j = i; j < N; j++) {
        if (orden[i] == S[j]) {

          swap(S[i], S[j]);

          P[pos] = i;
          Q[pos] = j;

          pos++;

          break;
        }
      }

      P[pos] = 0;
      Q[pos] = 0;
      pos++;
    }

  }

  for (int i = 0; i < N; i++) {

    if (orden[i] != S[i]) {
      
      ans++;
      
      swap(S[0], S[1]);
      
      for (int j = i; j < N; j++) {
        if (orden[i] == S[j]) {

          swap(S[i], S[j]);

          P[pos] = i;
          Q[pos] = j;

          pos++;

          break;
        }
      }

      P[pos] = 0;
      Q[pos] = 0;
      pos++;
    }

  }

  if (S[0] > S[1]) {
    ans++;
    P[pos] = 0;
    Q[pos] = 1;
    pos++;
  } 

  return ans;
}

Compilation message

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