Submission #340320

#TimeUsernameProblemLanguageResultExecution timeMemory
340320A_DSlagalica (COCI19_slagalica2)C++14
0 / 70
1090 ms14012 KiB
/* ID: antwand1 TASK: barn1 LANG: C++ */ #include <bits/stdc++.h> #define ll long long #define du long double #define F first #define S second using namespace std; const int N=1e5+1; string s; deque<int> v[9]; int n; bool bc(int i,int a) { if(i==n){ if(a==0){ if(v[7].empty()==0){ s+=v[7].front()+'0'; return 1; } else return 0; } else{ if(v[8].empty()==0){ s+=v[8].front()+'0'; return 1; } else return 0; } } bool ret=0; if(a==0){ if(v[1].empty()&&v[2].empty())return 0; if(v[1].empty()){ int q=v[2][0]; v[2].pop_front(); ret=bc(i+1,0); v[2].push_front(q); if(ret)s+=q+'0'; return ret; } else{ if(v[2].empty()){ int q=v[1][0]; v[1].pop_front(); ret=bc(i+1,1); v[1].push_front(q); if(ret)s+=q+'0'; return ret; } else{ if(v[1][0]<v[2][0]){ int q=v[1][0]; v[1].pop_front(); ret=bc(i+1,1); v[1].push_front(q); if(ret)s+=q+'0'; if(ret)return ret; q=v[2][0]; v[2].pop_front(); ret=bc(i+1,0); v[2].push_front(q); if(ret)s+=q+'0'; return ret; } else{ int q=v[2][0]; v[2].pop_front(); ret=bc(i+1,0); v[2].push_front(q); if(ret)s+=q+'0'; if(ret)return ret; q=v[1][0]; v[1].pop_front(); ret=bc(i+1,1); v[1].push_front(q); if(ret)s+=q+'0'; return ret; } } } } else{ if(v[3].empty()&&v[4].empty())return 0; if(v[3].empty()){ int q=v[4][0]; v[4].pop_front(); ret=bc(i+1,0); v[4].push_front(q); if(ret)s+=q+'0'; return ret; } else{ if(v[3].empty()){ int q=v[3][0]; v[3].pop_front(); ret=bc(i+1,1); v[3].push_front(q); if(ret)s+=q+'0'; return ret; } else{ if(v[3][0]<v[4][0]){ int q=v[1][0]; v[3].pop_front(); ret=bc(i+1,1); v[3].push_front(q); if(ret)s+=q+'0'; if(ret)return ret; q=v[4][0]; v[4].pop_front(); ret=bc(i+1,0); v[4].push_front(q); if(ret)s+=q+'0'; return ret; } else{ int q=v[4][0]; v[4].pop_front(); ret=bc(i+1,0); v[4].push_front(q); if(ret)s+=q+'0'; if(ret)return ret; q=v[3][0]; v[3].pop_front(); ret=bc(i+1,1); v[3].push_front(q); if(ret)s+=q+'0'; return ret; } } } /********dddd*/ } } main() { //freopen("barn1.in","r",stdin);freopen("barn1.out","w",stdout); cin>>n; for(int i=1;i<=n;i++){ int x,a; cin>>x>>a; v[x].push_back(a); } for(int i=1;i<=8;i++)sort(v[i].begin(),v[i].end()); if(v[5].empty()==0){ if(bc(2,1)){ s+=v[5][0]+'0'; reverse(s.begin(),s.end()); for(int i=0;i<n;i++){ cout<<s[i]<<" "; } cout<<endl; } else cout<<-1<<endl; } else if(v[6].empty()==0){ if(bc(2,0)){ s+=v[6][0]+'0'; reverse(s.begin(),s.end()); for(int i=0;i<n;i++){ cout<<s[i]<<" "; } cout<<endl; } else cout<<-1<<endl; } }

Compilation message (stderr)

slagalica.cpp:140:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
  140 | main()
      |      ^
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...