제출 #1212346

#제출 시각아이디문제언어결과실행 시간메모리
1212346XCAC197정렬하기 (IOI15_sorting)C++20
컴파일 에러
0 ms0 KiB
#include "sorting.h"
#include <algorithm>
#include <iostream>
using namespace std;

int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
    
    int A [N];
    for(int i = 0; i < N; i++){
        A[i] = i;
    }
    //go backwards
    for(int i = M-1; i >= 0; i--){
        swap(A[X[i]], A[Y[i]]);
    }
    for(int i = 0; i < M; i++){
        swap(A[X[i]], A[Y[i]]);
        swap(S[X[i]], S[Y[i]]);
        bool done = false;
        for(int j = 0; j < N; j++){
            if(S[j] != A[j]){
                int kva = 0;
                for(int k = 0; k < N; k++){
                    if(S[k] == A[j]){
                        kva = k;
                    }
                }
                swap(S[j], S[kva]);
                P[i] = j;
                Q[i] = kva;
                done = true;
                break;
            }
        }
        if(!done){
            P[i] = 0;
            Q[i] = 0;
        }
    }
    for(int i = 0; i < N; i++){
        assert(A[i] == i);
    }
    /*for(int i = 0; i < N; i++){
        cerr << A[i] << " ";
    }
    cerr << endl;
    for(int i = 0; i < N; i++){
        cerr << S[i] << " ";
    }
    cerr << endl;*/
    return M;
}


컴파일 시 표준 에러 (stderr) 메시지

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:41:9: error: 'assert' was not declared in this scope
   41 |         assert(A[i] == i);
      |         ^~~~~~
sorting.cpp:4:1: note: 'assert' is defined in header '<cassert>'; did you forget to '#include <cassert>'?
    3 | #include <iostream>
  +++ |+#include <cassert>
    4 | using namespace std;