Submission #11140099
Source Code Expand
#include<bits/stdc++.h>
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define SZ(x) ((int)x.size())
#define ALL(x) x.begin(),x.end()
#define L(i,u) for (register int i=head[u]; i; i=nxt[i])
#define rep(i,a,b) for (register int i=(a); i<=(b); i++)
#define per(i,a,b) for (register int i=(a); i>=(b); i--)
using namespace std;
typedef long double ld;
typedef long long ll;
typedef unsigned int ui;
typedef pair<int,int> Pii;
typedef vector<int> Vi;
template<class T> inline void read(T &x){
x=0; char c=getchar(); int f=1;
while (!isdigit(c)) {if (c=='-') f=-1; c=getchar();}
while (isdigit(c)) {x=x*10+c-'0'; c=getchar();} x*=f;
}
template<class T> T gcd(T a, T b){return !b?a:gcd(b,a%b);}
template<class T> inline void umin(T &x, T y){x=x<y?x:y;}
template<class T> inline void umax(T &x, T y){x=x>y?x:y;}
inline ui R() {
static ui seed=416;
return seed^=seed>>5,seed^=seed<<17,seed^=seed>>13;
}
const int N = 2666;
int n,a[N],s;
vector<Pii>solve(Vi a){
if(SZ(a)==4)return {mp(0,0),mp(1,0),mp(1,1),mp(0,1)};
int offset=0;
while(!(a[0]==1&&a[1]==1&&a[2]==-1)){
auto tmp=a.back();per(i,SZ(a)-1,1)a[i]=a[i-1];a[0]=tmp;offset++;
}
Vi b;rep(i,0,SZ(a)-1)if(i!=1&&i!=2)b.pb(a[i]);
vector<Pii>ans=solve(b);
while(!(ans[0].fi<ans[1].fi&&ans[0].se==ans[1].se)){
for(auto &a:ans)a=mp(a.se,SZ(ans)-a.fi+1);
}
for(auto &a:ans)a=mp(2*a.fi,2*a.se);
auto tmp=ans[1];
ans.insert(ans.begin()+2,mp(tmp.fi,tmp.se+1));
ans.insert(ans.begin()+2,mp(tmp.fi+1,tmp.se+1));
ans[1].fi++;
// ans.insert(ans.begin()+2,mp(tmp.fi+1,tmp.se));
b.clear();Vi c;for(auto x:ans)b.pb(x.fi),c.pb(x.se);
sort(ALL(b));sort(ALL(c));
for(auto &x:ans)x=mp(lower_bound(ALL(b),x.fi)-b.begin()+1,lower_bound(ALL(c),x.se)-c.begin()+1);
offset=SZ(a)-offset;
while(offset--){
auto tmp=ans.back();per(i,SZ(ans)-1,1)ans[i]=ans[i-1];ans[0]=tmp;
}
return ans;
}
int main() {
read(n);rep(i,1,n)read(a[i]),a[i]=a[i]==90?1:-1,s+=a[i];
if(s!=4){puts("-1");return 0;}
Vi b;rep(i,1,n)b.pb(a[i]);
vector<Pii>ans=solve(b);
for(auto x:ans)printf("%d %d\n",x.fi,x.se);
return 0;
}
Submission Info
Submission Time |
|
Task |
I - 90 and 270 |
User |
supy |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
2153 Byte |
Status |
WA |
Exec Time |
163 ms |
Memory |
2688 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 1500 |
Status |
|
|
Set Name |
Test Cases |
Sample |
example0.txt, example1.txt |
All |
000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, example0.txt, example1.txt |
Case Name |
Status |
Exec Time |
Memory |
000.txt |
AC |
1 ms |
256 KB |
001.txt |
AC |
1 ms |
256 KB |
002.txt |
AC |
1 ms |
256 KB |
003.txt |
WA |
54 ms |
1408 KB |
004.txt |
WA |
6 ms |
492 KB |
005.txt |
WA |
14 ms |
640 KB |
006.txt |
WA |
34 ms |
1024 KB |
007.txt |
WA |
8 ms |
512 KB |
008.txt |
WA |
3 ms |
384 KB |
009.txt |
WA |
12 ms |
640 KB |
010.txt |
WA |
82 ms |
1792 KB |
011.txt |
WA |
2 ms |
256 KB |
012.txt |
WA |
24 ms |
896 KB |
013.txt |
WA |
24 ms |
896 KB |
014.txt |
WA |
2 ms |
256 KB |
015.txt |
WA |
5 ms |
384 KB |
016.txt |
WA |
39 ms |
1152 KB |
017.txt |
WA |
1 ms |
256 KB |
018.txt |
WA |
29 ms |
896 KB |
019.txt |
WA |
9 ms |
512 KB |
020.txt |
WA |
138 ms |
2432 KB |
021.txt |
WA |
1 ms |
256 KB |
022.txt |
WA |
119 ms |
2304 KB |
023.txt |
WA |
156 ms |
2688 KB |
024.txt |
WA |
157 ms |
2688 KB |
025.txt |
WA |
158 ms |
2688 KB |
026.txt |
WA |
161 ms |
2688 KB |
027.txt |
WA |
160 ms |
2688 KB |
028.txt |
WA |
160 ms |
2688 KB |
029.txt |
WA |
160 ms |
2688 KB |
030.txt |
WA |
161 ms |
2688 KB |
031.txt |
WA |
162 ms |
2688 KB |
032.txt |
WA |
161 ms |
2688 KB |
033.txt |
WA |
163 ms |
2688 KB |
034.txt |
WA |
162 ms |
2688 KB |
035.txt |
WA |
162 ms |
2688 KB |
036.txt |
WA |
162 ms |
2688 KB |
037.txt |
WA |
162 ms |
2688 KB |
038.txt |
WA |
162 ms |
2688 KB |
039.txt |
WA |
160 ms |
2688 KB |
040.txt |
WA |
160 ms |
2688 KB |
041.txt |
WA |
158 ms |
2688 KB |
042.txt |
WA |
155 ms |
2688 KB |
043.txt |
AC |
1 ms |
256 KB |
example0.txt |
WA |
1 ms |
256 KB |
example1.txt |
AC |
1 ms |
256 KB |