Submission #125740

#TimeUsernameProblemLanguageResultExecution timeMemory
125740Nodir_BobievUnscrambling a Messy Bug (IOI16_messy)C++14
Compilation error
0 ms0 KiB
# include <iostream> # include <vector> # include <algorithm> using namespace std; # include <iostream> # include <vector> # include <algorithm> # include "messy.h" using namespace std; vector < string > vc; vector < int > tri[128][130], p = {0,3,5,1,2,7,4,6}; string zeros, ones; /* void add_element( string s ) { string nw; for( auto c: p ){ nw += s[c]; } vc.push_back( nw ); } void print_elements() { for( auto c: vc ){ cout << c << endl; } } bool check_element( string s ) { for( auto c: vc ){ if( c == s ){ return true; } } return false; } */ void rec( int i, int j ) { if( j == 1 ) return; string ss = ones; for( auto c: tri[i][j] )ss[c] = '0'; for( auto c: tri[i][j] ){ string s = ss; s[c] = '1'; if( check_element( s ) ){ tri[i][j/2].push_back( c ); }else{ tri[i+j/2][j/2].push_back( c ); } } rec( i, j/2 ); rec( i+j/2, j/2); } vector <int> restor_permutation( int n, int w, int r ) { for( int i = 0; i < n; i ++ ){ zeros += '0'; ones += '1'; } for( int i = 2; i <= n; i *= 2 ){ for( int j = 0; j < n; j += i ){ string s = zeros; for( int k = 0; k < j; k ++ ) s[k] = '1'; for( int k=j+i; k < n; k ++ ) s[k] = '1'; for( int k = j; k<j+i/2; k ++ ){ s[k] = '1'; add_element( s ); s[k] = '0'; } } } for( int i = 0; i < n; i ++ ) tri[0][n].push_back( i ); rec( 0, n ); vector < pair < int, int > > st; for( int i = 0; i < n; i ++ ){ st.push_back( make_pair( tri[i][1][0], i ) ); } sort( st.begin(), st.end() ); vector < int > ret; for( auto c: st ){ ret.push_back( c.second ); } return ret; } /* int main() { vector < int > ans; ans = restor_permutation( 8,8,8 ); for( auto c: ans ){ cout << c << ' '; } return 0; } */ vector < string > vc; vector < int > tri[128][130], p = {0,3,5,1,2,7,4,6}; string zeros, ones; /* void add_element( string s ) { string nw; for( auto c: p ){ nw += s[c]; } vc.push_back( nw ); } void print_elements() { for( auto c: vc ){ cout << c << endl; } } bool check_element( string s ) { for( auto c: vc ){ if( c == s ){ return true; } } return false; } */ void rec( int i, int j ) { if( j == 1 ) return; string ss = ones; for( auto c: tri[i][j] )ss[c] = '0'; for( auto c: tri[i][j] ){ string s = ss; s[c] = '1'; if( check_element( s ) ){ tri[i][j/2].push_back( c ); }else{ tri[i+j/2][j/2].push_back( c ); } } rec( i, j/2 ); rec( i+j/2, j/2); } vector <int> restor_permutation( int n, int w, int r ) { for( int i = 0; i < n; i ++ ){ zeros += '0'; ones += '1'; } for( int i = 2; i <= n; i *= 2 ){ for( int j = 0; j < n; j += i ){ string s = zeros; for( int k = 0; k < j; k ++ ) s[k] = '1'; for( int k=j+i; k < n; k ++ ) s[k] = '1'; for( int k = j; k<j+i/2; k ++ ){ s[k] = '1'; add_element( s ); s[k] = '0'; } } } for( int i = 0; i < n; i ++ ) tri[0][n].push_back( i ); rec( 0, n ); vector < pair < int, int > > st; for( int i = 0; i < n; i ++ ){ st.push_back( make_pair( tri[i][1][0], i ) ); } sort( st.begin(), st.end() ); vector < int > ret; for( auto c: st ){ ret.push_back( c.second ); } return ret; } /* int main() { vector < int > ans; ans = restor_permutation( 8,8,8 ); for( auto c: ans ){ cout << c << ' '; } return 0; } */

Compilation message (stderr)

messy.cpp:110:19: error: redefinition of 'std::vector<std::__cxx11::basic_string<char> > vc'
 vector < string > vc;
                   ^~
messy.cpp:13:19: note: 'std::vector<std::__cxx11::basic_string<char> > vc' previously declared here
 vector < string > vc;
                   ^~
messy.cpp:111:28: error: redefinition of 'std::vector<int> tri [128][130]'
 vector < int > tri[128][130], p = {0,3,5,1,2,7,4,6};
                            ^
messy.cpp:14:16: note: 'std::vector<int> tri [128][130]' previously declared here
 vector < int > tri[128][130], p = {0,3,5,1,2,7,4,6};
                ^~~
messy.cpp:111:31: error: redefinition of 'std::vector<int> p'
 vector < int > tri[128][130], p = {0,3,5,1,2,7,4,6};
                               ^
messy.cpp:14:31: note: 'std::vector<int> p' previously declared here
 vector < int > tri[128][130], p = {0,3,5,1,2,7,4,6};
                               ^
messy.cpp:112:8: error: redefinition of 'std::__cxx11::string zeros'
 string zeros, ones;
        ^~~~~
messy.cpp:15:8: note: 'std::__cxx11::string zeros' previously declared here
 string zeros, ones;
        ^~~~~
messy.cpp:112:15: error: redefinition of 'std::__cxx11::string ones'
 string zeros, ones;
               ^~~~
messy.cpp:15:15: note: 'std::__cxx11::string ones' previously declared here
 string zeros, ones;
               ^~~~
messy.cpp: In function 'void rec(int, int)':
messy.cpp:140:6: error: redefinition of 'void rec(int, int)'
 void rec( int i, int j )
      ^~~
messy.cpp:43:6: note: 'void rec(int, int)' previously defined here
 void rec( int i, int j )
      ^~~
messy.cpp: In function 'std::vector<int> restor_permutation(int, int, int)':
messy.cpp:160:14: error: redefinition of 'std::vector<int> restor_permutation(int, int, int)'
 vector <int> restor_permutation( int n, int w, int r )
              ^~~~~~~~~~~~~~~~~~
messy.cpp:63:14: note: 'std::vector<int> restor_permutation(int, int, int)' previously defined here
 vector <int> restor_permutation( int n, int w, int r )
              ^~~~~~~~~~~~~~~~~~