QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#683044 | #6422. Evil Coordinate | QF_love_younger_sister | AC ✓ | 21ms | 3792kb | C++23 | 3.7kb | 2024-10-27 18:30:15 | 2024-10-27 18:30:15 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
string ss;
void solve(){
int xd,yd;
cin >> xd >> yd;
cin >> ss;
//cout << ss << "\n";
int len=ss.size();
int u=0,d=0,l=0,r=0;
for(int i=0; i<len; i++){
if(ss[i]=='R') r++;
if(ss[i]=='U') u++;
if(ss[i]=='L') l++;
if(ss[i]=='D') d++;
}
if(r-l==xd && u-d==yd){
cout << "Impossible\n";
return;
}
if(xd==0 && yd==0){
cout << "Impossible\n";
return;
}
if(xd!=0 && yd!=0){
int mbx=r-l;
if(mbx==xd){
while(u!=0){
u--;
cout << "U";
}
while(d!=0){
d--;
cout << "D";
}
while(l!=0){
l--;
cout << "L";
}
while(r!=0){
r--;
cout << "R";
}
}
else{
while(l!=0){
l--;
cout << "L";
}
while(r!=0){
r--;
cout << "R";
}
while(u!=0){
u--;
cout << "U";
}
while(d!=0){
d--;
cout << "D";
}
}
}
if(xd!=0 && yd==0){
if(u==0 && d==0){
if(xd>0){
if(r-l>=xd){
cout << "Impossible\n";
return;
}
else{
while(l!=0){
l--;
cout << "L";
}
while(r!=0){
r--;
cout << "R";
}
}
}
else{
if(l-r>=-1*xd){
cout << "Impossible\n";
return;
}
else{
while(r!=0){
r--;
cout << "R";
}
while(l!=0){
l--;
cout << "L";
}
}
}
}
else{
if(d<u || d==0){
while(u!=0){
u--;
cout << "U";
}
if(r>l){
while(l!=0){
l--;
cout << "L";
}
while(r!=0){
r--;
cout << "R";
}
}
else{
while(r!=0){
r--;
cout << "R";
}
while(l!=0){
l--;
cout << "L";
}
}
while(d!=0){
d--;
cout << "D";
}
}
else{
while(d!=0){
d--;
cout << "D";
}
if(r>l){
while(l!=0){
l--;
cout << "L";
}
while(r!=0){
r--;
cout << "R";
}
}
else{
while(r!=0){
r--;
cout << "R";
}
while(l!=0){
l--;
cout << "L";
}
}
while(u!=0){
u--;
cout << "U";
}
}
}
}
if(xd==0 && yd!=0){
if(l==0 && r==0){
if(yd>0){
if(u-d>=yd){
cout << "Impossible\n";
return;
}
else{
while(d!=0){
d--;
cout << "D";
}
while(u!=0){
u--;
cout << "U";
}
}
}
else{
if(d-u>=-1*yd){
cout << "Impossible\n";
return;
}
else{
while(u!=0){
u--;
cout << "U";
}
while(d!=0){
d--;
cout << "D";
}
}
}
}
else{
if(l<r || l==0){
while(r!=0){
r--;
cout << "R";
}
if(u>d){
while(d!=0){
d--;
cout << "D";
}
while(u!=0){
u--;
cout << "U";
}
}
else{
while(u!=0){
u--;
cout << "U";
}
while(d!=0){
d--;
cout << "D";
}
}
while(l!=0){
l--;
cout << "L";
}
}
else{
while(l!=0){
l--;
cout << "L";
}
if(u>d){
while(d!=0){
d--;
cout << "D";
}
while(u!=0){
u--;
cout << "U";
}
}
else{
while(u!=0){
u--;
cout << "U";
}
while(d!=0){
d--;
cout << "D";
}
}
while(r!=0){
r--;
cout << "R";
}
}
}
}
cout << "\n";
return;
}
signed main(){
ios::sync_with_stdio(false),cin.tie(0);
int _=1;
cin>>_;
while(_--) solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3648kb
input:
5 1 1 RURULLD 0 5 UUU 0 3 UUU 0 2 UUU 0 0 UUU
output:
LLRRUUD UUU Impossible Impossible Impossible
result:
ok 5 cases
Test #2:
score: 0
Accepted
time: 15ms
memory: 3716kb
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:
DDRRUU UUR Impossible Impossible Impossible RRUUUUUUD LRRRRDD DU Impossible LLLLRRDD LLRRUDDD Impossible DDDDRLLUU LL Impossible UUUDLRR Impossible Impossible Impossible LLLLLDDRRR Impossible RL Impossible Impossible Impossible Impossible Impossible RRRRRUULLL LLLUD Impossible DDDLUUU UUDDRR Impossi...
result:
ok 11109 cases
Test #3:
score: 0
Accepted
time: 21ms
memory: 3792kb
input:
11107 1 0 LLRLRURLR 1 0 LLRR 0 1 R 1 0 LLLRLRRR 1 0 RUL 0 1 UD 1 0 RLRLU 0 1 DDDUUUDU 1 0 RURRLLRLL 1 0 LRLR 1 0 ULR 0 1 R 0 1 DDUUUDR 0 1 UUDDUDDU 0 1 DDUUDU 1 0 RRLRLLRLRL 1 0 RLRRLL 1 0 LUR 1 0 U 1 0 LRRRLLLR 0 1 DRUUDDUDU 0 1 DUUDDUR 1 0 LRLRLR 0 1 UUDDDUDU 0 1 R 0 1 UDUDDU 0 1 DUUDUD 1 0 RRLRRR...
output:
URRRRLLLL LLRR R LLLLRRRR URL DU URRLL DDDDUUUU URRRRLLLL LLRR URL R RUUUDDD DDDDUUUU DDDUUU LLLLLRRRRR LLLRRR URL U LLLLRRRR RUUUUDDDD RUUUDDD LLLRRR DDDDUUUU R DDDUUU DDDUUU LLLLLRRRRR DDDDUUUU DDUU URRRRLLLL DDUU LLLRRR URL URL U URL LLLRRR LLLLLRRRRR U DDDUUU R LLLRRR RUUUUDDDD RUUUUDDDD LLLRRR ...
result:
ok 11107 cases