QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#578153#6422. Evil Coordinatelibantian#AC ✓27ms4116kbC++232.3kb2024-09-20 17:01:272024-09-20 17:01:28

Judging History

你现在查看的是最新测评结果

  • [2024-09-20 17:01:28]
  • 评测
  • 测评结果:AC
  • 用时:27ms
  • 内存:4116kb
  • [2024-09-20 17:01:27]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
#define fi first
#define se second
#define all(_a) _a.begin(),_a.end()
int cnt[4];
//U R D L
void solve(){
    int px,py;
    cin>>px>>py;
    string s;
    cin>>s;
    if(px==0&&py==0){
        cout<<"Impossible"<<endl;
        return ;
    }
    cnt[0]=cnt[1]=cnt[2]=cnt[3]=0;
    for(int i=0;i<s.size();i++){
        if(s[i]=='U')cnt[0]++;
        if(s[i]=='R')cnt[1]++;
        if(s[i]=='D')cnt[2]++;
        if(s[i]=='L')cnt[3]++;
    }
    vector<int>a(4);
    a[0]=0,a[1]=1,a[2]=2,a[3]=3;
    do{
        bool is=true;
        int x=0,y=0;
        for(auto v:a){
            if(v==0){
                for(int i=1;i<=cnt[v];i++){
                    y++;
                    if(x==px&&y==py)is=false;
                }

            }
            if(v==1){
                for(int i=1;i<=cnt[v];i++){
                    x++;
                    if(x==px&&y==py)is=false;
                }
            }
            if(v==2){
                for(int i=1;i<=cnt[v];i++){
                    y--;
                    if(x==px&&y==py)is=false;
                }
            }
            if(v==3){
                for(int i=1;i<=cnt[v];i++){
                    x--;
                    if(x==px&&y==py)is=false;
                }
            }

        }
        if(is){
            for(auto v:a){
                if(v==0){
                    for(int i=1;i<=cnt[v];i++){
                        cout<<'U';
                    }

                }
                if(v==1){
                    for(int i=1;i<=cnt[v];i++){
                        cout<<'R';
                    }
                }
                if(v==2){
                    for(int i=1;i<=cnt[v];i++){
                        cout<<'D';
                    }
                }
                if(v==3){
                    for(int i=1;i<=cnt[v];i++){
                       cout<<'L';
                    }
                }

            }
            cout<<endl;
            return ;
        }

    }while(next_permutation(all(a)));
    cout<<"Impossible"<<endl;

}
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cin.tie(nullptr);
    int T=1;
    cin>>T;
    while(T--)solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3816kb

input:

5
1 1
RURULLD
0 5
UUU
0 3
UUU
0 2
UUU
0 0
UUU

output:

UURRLLD
UUU
Impossible
Impossible
Impossible

result:

ok 5 cases

Test #2:

score: 0
Accepted
time: 27ms
memory: 4036kb

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:

UURRDD
UUR
Impossible
Impossible
Impossible
UUUUUURRD
RRRRDDL
UD
Impossible
RRDDLLLL
URRDDDLL
Impossible
UURDDDDLL
LL
Impossible
UUURRDL
Impossible
Impossible
Impossible
RRRLLLLLDD
Impossible
RL
Impossible
Impossible
Impossible
Impossible
Impossible
RRRRRUULLL
UDLLL
Impossible
UUUDDDL
UURRDD
Impossi...

result:

ok 11109 cases

Test #3:

score: 0
Accepted
time: 22ms
memory: 4116kb

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