Submission #136025

#TimeUsernameProblemLanguageResultExecution timeMemory
136025ZexThree Friends (BOI14_friends)C++11
100 / 100
17 ms9208 KiB
#include<bits/stdc++.h> using namespace std; #define LL long long #define INF INT_MAX #define output for(int i=0;i<sizex;i++) { for(int j=0;j<sizey;j++) { cout << moveChart[i][j] << " "; }cout<<endl; }cout<<endl; const int maxN = 2000001; int N; string s; bool solve( string a, string b ){ // cout << a << " " << b << endl; int i=0, j=0; bool flag = true; while( i < a.length() && j < b.length() ){ if( a[i] == b[j] ){ i++; j++; } else if( flag ){ flag = false; i++; }else return false; } return true; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); while( cin >> N >> s ){ if( !( N & 1 ) ){ cout << "NOT POSSIBLE" << endl; continue; } string S, X; bool resA, resB; S = s.substr( 0, N/2 ); X = s.substr( N/2, N ); resA = solve( X, S ); S = s.substr( 0, N/2+1 ); X = s.substr( N/2+1, N ); resB = solve( S, X ); if( resA && resB ){ if( s.substr( 0, N/2 ) == s.substr( N/2+1, N ) ) resB = false; } if( resA && resB ) cout << "NOT UNIQUE" << endl; else if( resA ) cout << s.substr( 0, N/2 ) << endl; else if( resB ) cout << s.substr( N/2+1, N ) << endl; else cout << "NOT POSSIBLE" << endl; break;} }

Compilation message (stderr)

friends.cpp: In function 'bool solve(std::__cxx11::string, std::__cxx11::string)':
friends.cpp:17:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while( i < a.length() && j < b.length() ){
            ~~^~~~~~~~~~~~
friends.cpp:17:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while( i < a.length() && j < b.length() ){
                              ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...