# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
265003 | 2020-08-14T12:14:51 Z | sonvip9 | Slagalica (COCI19_slagalica2) | C++14 | 1000 ms | 4844 KB |
#include<bits/stdc++.h> #define ii pair<int,int> #define fi first #define se second #define ll long long #define BIT(x,k) ((x>>k)&1) #define db double #define pb push_back #define turnoff(t,k) (t^(1<<(k))) #define getbit(k,x) ((x>>k)&1) #define FOR(i,x,y) for(int i=x;i<=y;i++) #define ROF(i,x,y) for(int i=x;i>=y;i--) using namespace std; int n; vector<int> hack; ii puz[100010]; int kq[100010]; int x[100010]; int a[100010]; int kind[100010]; int endless=0; bool have=false; int zz[100010],d[100010]; ll res=1e18; priority_queue<int> qu[10]; void ghinghiem() { bool check1=false; bool check2=false; bool check3=false; bool check4=false; int tgg=0; // for(int i=1; i<=n; i++) // { // cout<<zz[i]<<" "; // } // cout<<"\n"; for(int i=1; i<=n; i++) { // cout<<zz[i]<<"\n"; // if(x[zz[1]]==5) // { // cout<<"yeah\n"; // } // cout<<i<<"\n"; if(i==1 and x[zz[i]]!=5 and x[zz[i]]!=6) { return; } else { if(x[zz[i]]==5) { check1=false; check2=false; check3=true; check4=true; continue; } if(x[zz[i]]==6) { check4=false; check3=false; check2=true; check1=true; continue; } } if(i==n and x[zz[i]]!=7 and x[zz[i]]!=8) { return; } else { if(x[zz[i]]==7 and tgg!=0) { return; } if(x[zz[i]]==8 and tgg!=1) { return; } } if(x[zz[i]]==1) { if(check1==true) { tgg=1; check1=false; check2=false; check3=true; check4=true; } else { return; } } if(x[zz[i]]==2) { if(check2==true) { tgg=0; check4=false; check3=false; check2=true; check1=true; } else { return; } } if(x[zz[i]]==3) { if(check3==true) { tgg=1; check1=false; check2=false; check3=true; check4=true; } else { return; } } if(x[zz[i]]==4) { if(check4==true) { tgg=0; check4=false; check3=false; check2=true; check1=true; } else { return; } } } have=true; ll _res=0; for(int i=1; i<=n; i++) { _res=_res*10+a[zz[i]]; } res=min(res,_res); } void blackk(int i) { for(int j=1; j<=n; j++) if(d[j]==0) { zz[i]=j; d[j]=1; if(i==n) ghinghiem(); else blackk(i+1); d[j]=0; } } void io() { freopen("Slagalica.inp","r",stdin); freopen("Slagalica.out","w",stdout); } void inp() { cin>>n; for(int i=1; i<=n; i++) { cin>>x[i]>>a[i]; qu[x[i]].push(-a[i]); if(x[i]==7 or x[i]==8) { endless=a[i]; } } } void proc1() { blackk(1); if(!have) {cout<<"-1";exit(0);} else { while(res>0) { hack.pb(res%10); res/=10; } for(int i=hack.size()-1;i>=0;i--) { cout<<hack[i]<<" "; } } } void proc3() { if(!qu[5].empty()) kind[1]=1; else kind[1]=0; bool check=true; for(int i=2; i<n; i++) { if(kind[i-1]==1) { if(!qu[4].empty()) { kq[i]=-qu[4].top(); qu[4].pop(); } else { check=false; break; } kind[i]=0; } if(kind[i]=0) { if(!qu[1].empty()) { kq[i]=-qu[1].top(); qu[1].pop(); } else { check=false; break; } kind[i]=1; } } if(check==false) { cout<<"-1"; return; } else { if(kind[n-1]==1 and !qu[7].empty()) { cout<<"-1"; return; } if(kind[n-1]==0 and !qu[8].empty()) { cout<<"-1"; return; } for(int i=1; i<=n-1; i++) { cout<<kq[i]<<" "; } } } int main() { //io(); inp(); proc1(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 193 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1092 ms | 4528 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1058 ms | 4292 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1090 ms | 4844 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1077 ms | 4312 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1090 ms | 4468 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1079 ms | 4228 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1048 ms | 4412 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1062 ms | 4804 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1081 ms | 4136 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1080 ms | 4596 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1096 ms | 4280 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1066 ms | 4260 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |