Submission #135364

#TimeUsernameProblemLanguageResultExecution timeMemory
135364tinjyuSorting (IOI15_sorting)C++14
0 / 100
7 ms376 KiB
#include "sorting.h"
#include <iostream>
using namespace std;
int findSwapPairs(int n, int s[], int m, int x[], int y[], int P[], int Q[]) {
    int num[50005];
    for(int i=0;i<n;i++)
    {
        num[i]=i;
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<i;j++)
        {
            if(s[i]<s[j])
            {
                swap(num[i],num[j]);
                swap(s[i],s[j]);
            }
        }
    }
    int r=0,t;
    for(int i=0;i<n;i++)s[num[i]]=i;
    //for(int i=0;i<n;i++)cout<<s[i]<<" ";
    //cout<<endl;
    for(int i=0;i<n;i++)if(s[i]==0)t=i;
    if(t==1)
    {
        P[r]=0;
        Q[r]=0;
        r++;
    }
    else
    if(t!=0)
    {
        swap(s[0],s[1]);
        swap(s[0],s[t]);
        P[r]=0;
        Q[r]=t;
        r++;
    }
    //for(int i=0;i<n;i++)cout<<s[i]<<" ";
    //cout<<endl;
    for(int i=0;i<n;i++)if(s[i]==1)t=i;
    if(t==1)
    {
        P[r]=0;
        Q[r]=0;
        r++;
    }
    else
    if(t!=0)
    {
        swap(s[0],s[1]);
        swap(s[0],s[t]);
        P[r]=0;
        Q[r]=t;
        r++;
    }
    //for(int i=0;i<n;i++)cout<<s[i]<<" ";
    //cout<<endl;
    for(int i=2;i<n;i++)
    {
        t=0;
        for(int j=0;j<n;j++)if(s[j]==i)
        {
            t=j;
            break;
        }
        //cout<<i<<" "<<t<<endl;
        if(i==t)
        {
            continue;
        }
        //for(int i=0;i<n;i++)cout<<s[i]<<" ";
        //cout<<endl;
        swap(s[0],s[1]);
        swap(s[i],s[t]);
        P[r]=i;
        Q[r]=t;
        r++;
        //cout<<endl;
    }if(s[0]==1)
    {
        r++;
    }
	return r;
}


Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:4:39: warning: unused parameter 'm' [-Wunused-parameter]
 int findSwapPairs(int n, int s[], int m, int x[], int y[], int P[], int Q[]) {
                                       ^
sorting.cpp:4:48: warning: unused parameter 'x' [-Wunused-parameter]
 int findSwapPairs(int n, int s[], int m, int x[], int y[], int P[], int Q[]) {
                                                ^
sorting.cpp:4:57: warning: unused parameter 'y' [-Wunused-parameter]
 int findSwapPairs(int n, int s[], int m, int x[], int y[], int P[], int Q[]) {
                                                         ^
sorting.cpp:26:5: warning: 't' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if(t==1)
     ^~
#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...