Submission #137326

#TimeUsernameProblemLanguageResultExecution timeMemory
137326NucleistSorting (IOI15_sorting)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) #define debug(x) cerr << " - " << #x << ": " << x << endl; #define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl; #define all(x) (x).begin(),(x).end() #define sz(x) (ll)x.size() #define ll long long #define INF 1000000000 #define pb push_back struct greateri { template<class T> bool operator()(T const &a, T const &b) const { return a > b; } }; int findSwapPairs(int N,int S[],int M,int X[],int Y[],int P[],int Q[]) { memset(P,0,sizeof P); memset(Q,O,sizeof Q); int r = 0; bool ka = false; bool ka1 =false; for (int i = 0; i < N; ++i) {if(i!=S[i]){ka=true;break;}} if(!ka)return r; int k1 = S[0]; int vol1 = S[1]; S[0]=vol1; S[1]=k1; for (int i = 2; i < N; ++i) { if((S[i]==0) || (S[i]==1)) { int k = S[i]; int now = k; if(S[k]==0 || S[k]==1) { if(S[k]==0)now--; else now++; } int vol = S[now]; S[i]=vol; S[now]=k; P[r]=i; Q[r]=now; r++; ka1 = false; for (int j = 0; j < N; ++j) {if(j!=S[j]){ka1=true;break;}} if(!ka1)return r; k1 = S[0]; vol1 = S[1]; S[0]=vol1; S[1]=k1; break; } } for (int i = 2; i < N; ++i) { if((S[i]==0) || (S[i]==1)) { int k = S[i]; int now = k; if(S[k]==0 || S[k]==1) { if(S[k]==0)now--; else now++; } int vol = S[now]; S[i]=vol; S[now]=k; P[r]=i; Q[r]=now; r++; ka1 = false; for (int j = 0; j < N; ++j) {if(j!=S[j]){ka1=true;break;}} if(!ka1)return r; k1 = S[0]; vol1 = S[1]; S[0]=vol1; S[1]=k1; break; } } for (int i = 2; i < N; ++i) { while(i!=S[i]) { int k = S[i]; int vol = S[k]; S[i]=vol; S[k]=k; P[r]=i; Q[r]=k; r++; ka1=false; for (int j = 0; j < N; ++j) {if(j!=S[j]){ka1=true;break;}} if(!ka1)return r; k1 = S[0]; vol1 = S[1]; S[0]=vol1; S[1]=k1; } } P[r]=0;Q[r]=0;return r+1; } int main() { int n; cin>>n; int tab[n]={0}; int m = 30*n; int X[m]={0}; int Y[m]={0}; for (int i = 0; i < n; ++i) { cin>>tab[i]; } int dol = findSwapPairs(n,tab,m,X,Y); cout<< dol <<endl; for (int i = 0; i < dol; ++i) { debugs(P[i],Q[i]); } } //code the AC sol ! // BS/queue/map

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:18:20: warning: 'sizeof' on array function parameter 'P' will return size of 'int*' [-Wsizeof-array-argument]
  memset(P,0,sizeof P);
                    ^
sorting.cpp:16:62: note: declared here
 int findSwapPairs(int N,int S[],int M,int X[],int Y[],int  P[],int Q[])
                                                              ^
sorting.cpp:18:20: warning: argument to 'sizeof' in 'void* memset(void*, int, size_t)' call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
  memset(P,0,sizeof P);
                    ^
sorting.cpp:19:11: error: 'O' was not declared in this scope
  memset(Q,O,sizeof Q);
           ^
sorting.cpp:19:20: warning: 'sizeof' on array function parameter 'Q' will return size of 'int*' [-Wsizeof-array-argument]
  memset(Q,O,sizeof Q);
                    ^
sorting.cpp:16:70: note: declared here
 int findSwapPairs(int N,int S[],int M,int X[],int Y[],int  P[],int Q[])
                                                                      ^
sorting.cpp:19:20: warning: argument to 'sizeof' in 'void* memset(void*, int, size_t)' call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
  memset(Q,O,sizeof Q);
                    ^
sorting.cpp:16:37: warning: unused parameter 'M' [-Wunused-parameter]
 int findSwapPairs(int N,int S[],int M,int X[],int Y[],int  P[],int Q[])
                                     ^
sorting.cpp:16:45: warning: unused parameter 'X' [-Wunused-parameter]
 int findSwapPairs(int N,int S[],int M,int X[],int Y[],int  P[],int Q[])
                                             ^
sorting.cpp:16:53: warning: unused parameter 'Y' [-Wunused-parameter]
 int findSwapPairs(int N,int S[],int M,int X[],int Y[],int  P[],int Q[])
                                                     ^
sorting.cpp: In function 'int main()':
sorting.cpp:121:37: error: too few arguments to function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)'
  int dol = findSwapPairs(n,tab,m,X,Y);
                                     ^
sorting.cpp:16:5: note: declared here
 int findSwapPairs(int N,int S[],int M,int X[],int Y[],int  P[],int Q[])
     ^~~~~~~~~~~~~
sorting.cpp:125:10: error: 'P' was not declared in this scope
   debugs(P[i],Q[i]);
          ^
sorting.cpp:5:53: note: in definition of macro 'debugs'
 #define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl;
                                                     ^
sorting.cpp:125:15: error: 'Q' was not declared in this scope
   debugs(P[i],Q[i]);
               ^
sorting.cpp:5:79: note: in definition of macro 'debugs'
 #define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl;
                                                                               ^