QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#198888 | #6422. Evil Coordinate | rsj | WA | 16ms | 3816kb | C++14 | 1.3kb | 2023-10-03 18:19:18 | 2023-10-03 18:19:18 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+5;
int a[4];
char s[N];
pair<int,int> g(int x,int d) {
if(x==0) return make_pair(0,d);
else if(x==1) return make_pair(0,-d);
else if(x==2) return make_pair(-d,0);
else return make_pair(d,0);
}
void print(int x) {
char c;
if(x==0)c='U';
if(x==1)c='D';
if(x==2)c='L';
if(x==3)c='R';
int t=a[x];
while(t--)putchar(c);
}
int p[4];
void get() {
int x,y,i;
cin>>x>>y; memset(a,0,sizeof(a));
cin>>(s+1); int n=strlen(s+1);
if(x==0&&y==0) return puts("Impossible"),void();
for(i=1;i<=n;i++) {
switch(s[i]) {
case 'U': a[0]++; break;
case 'D': a[1]++; break;
case 'L': a[2]++; break;
case 'R': a[3]++; break;
}
}
for(i=0;i<4;i++) p[i]=i;
int ok=0;
do {
int d=0,q=0,np,nq,ans=1;
for(i=0;i<4;i++) {
auto tmp=g(p[i],a[p[i]]);
np=d+tmp.first,nq=q+tmp.second;
if(d==np&&d==x&&((q<=y&&y<=nq)||(nq<=y&&y<=q))) ans=0;
if(q==nq&&q==y&&((d<=x&&x<=np)||(np<=x&&x<=d))) ans=0;
d=np,q=np;
}
if(ans) {
for(i=0;i<4;i++) print(p[i]); putchar('\n');
ok=1;
break;
}
} while(next_permutation(p,p+4));
if(!ok) puts("Impossible");
}
int main() {
// freopen("5.in","r",stdin);
int T; cin>>T;
while(T--) get();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3572kb
input:
5 1 1 RURULLD 0 5 UUU 0 3 UUU 0 2 UUU 0 0 UUU
output:
UUDLLRR UUU Impossible Impossible Impossible
result:
ok 5 cases
Test #2:
score: -100
Wrong Answer
time: 16ms
memory: 3816kb
input:
11109 6 0 RUDUDR 2 0 URU 0 0 UDRU 0 0 R -1 1 LDUUDDRUUL -1 5 RRUUUDUUU -8 4 RRDRLDR 2 0 UD 0 0 UUDD 3 -2 LDDLLLRR 3 -2 LDRURLDD 1 0 RRL -1 0 DUDDLLRDU -4 0 LL -1 -1 DLRLDLUDUR 1 4 URDULUR 0 0 DDUUDUDDDD 0 2 UU 1 0 RRULD 0 -2 LDLRLLDRRL 0 1 RLRLLRLUR -3 0 RL 0 0 D 0 0 L 0 0 DDLRRUDRUD 0 0 DULU 2 0 RR...
output:
UUDDRR UUR Impossible Impossible UUUUDDDLLR UUUUUUDRR DDLRRRR UD Impossible DDLLLLRR UDDDLLRR LRR UUDDDDRLL LL UUDDDLLLRR UUUDLRR Impossible Impossible UDLRR LLLLLDDRRR LLLLURRRR LR Impossible Impossible Impossible Impossible LLLLRRRRRR LLLUURRRRR UDLLL Impossible UUUDDDL UUDDRR RRRLLLL UUDDLRR DDRR...
result:
wrong answer case 5, participant's output goes through forbidden coordinate