Submission #134311

#TimeUsernameProblemLanguageResultExecution timeMemory
134311Runtime_error_정렬하기 (IOI15_sorting)C++14
20 / 100
1078 ms376 KiB

#include "sorting.h"
#include <bits/stdc++.h>
using namespace std;
const int inf = 2e3+9;
int pos[inf],from[inf],origin[inf];

int findSwapPairs(int n, int a[], int m, int x[], int y[], int p[], int q[]){

    bool tr = 1;
    for(int i=0;i<n;i++){
        pos[ a[i] ] = i;
        origin[i] = a[i];
        if(a[i] != i)
            tr = 0;
    }
    if(tr)
        return 0;

    for(int i=0;i<m;i++){
        int l = 0;
        for(int j=0;j<n;j++)
            from[j] = j,a[j] = origin[j],p[j] = q[j] = 0;
         for(int j=i;j>=0;j--)
            swap( from[ x[j] ] , from[ y[j] ] );

        /*for(int j=0;j<n;j++)
            cout<<from[j]<<" ";
        cout<<endl;*/

        for(int j=0;j<=i;j++){
            swap(a[ x[j] ] , a[ y[j] ] );
            swap(from[ x[j] ] , from[ y[j] ]);
            int idx,idfrom;

            while(l<n){
                for(idx = 0;idx<n && a[idx] != l;idx++);
                for(idfrom = 0;idfrom<n && from[idfrom] != l;idfrom++);
                if(from[idx] != idfrom)
                    break;
                l++;
            }
            swap(a[idx],a[idfrom]);
            //cout<<l<<" "<<idx<<" "<<idfrom<<endl;
            p[j] = idx,q[j] = idfrom;
        }
        //for(int i=0;i<n;i++)
        //    cout<<a[i]<<" ";
        tr = 1;
        for(int i=0;i<n;i++)
            if(a[i] != i)
                tr = 0;
        if(tr)
            return i+1;
    }
}

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:50:17: warning: declaration of 'i' shadows a previous local [-Wshadow]
         for(int i=0;i<n;i++)
                 ^
sorting.cpp:20:13: note: shadowed declaration is here
     for(int i=0;i<m;i++){
             ^
sorting.cpp:56:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
sorting.cpp:43:33: warning: 'idfrom' may be used uninitialized in this function [-Wmaybe-uninitialized]
             swap(a[idx],a[idfrom]);
                                 ^
sorting.cpp:43:23: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
             swap(a[idx],a[idfrom]);
                       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...