QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#505983 | #6422. Evil Coordinate | zmrzmr | TL | 0ms | 3796kb | C++20 | 1.8kb | 2024-08-05 14:26:17 | 2024-08-05 14:26:18 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define ll long long
// R = x+1 = 1 L = x-1 = 2 U = y + 1 = 3 D = y - 1 = 4
int cnt[5];
void slove()
{
int flag = 0 ;
ll x,y;
x = 0;
y = 0;
ll mx,my;
string s;
cin>>mx>>my;
cin>>s;
for(int i = 0 ; i < s.size() ; i++)
{
if(s[i]=='R')
{
cnt[1]++;
x++;
// cout<<x<<endl;
if(x==mx&&y==my)
flag = 1 ;
continue;
}
if(s[i]=='L')
{
cnt[2]++;
x= x - 1;
if(x==mx&&y==my)
flag = 1 ;
continue;
}
if(s[i]=='U')
{
cnt[3]++;
y = y + 1;
// cout<<x<<" "<<y<<endl;
if(x==mx&&y==my)
flag = 1 ;
continue;
}
if(s[i]=='D')
{
cnt[4]++;
y = y - 1;
if(x==mx&&y==my)
flag = 1 ;
continue;
}
}
if(mx==0 && my == 0 )
{
cout<<"Impossible"<<endl;
return;
}
if(flag == 0 )
{
cout<<s<<endl;
return ;
}
if(flag == 1 )
{
ll ansx = cnt[1] - cnt[2] ;
ll ansy = cnt[3] - cnt[4] ;
if(ansx == mx && ansy == my )
{
cout<<"Impossible"<<endl;
return;
}
if( (mx == 0 &&ansx ==x && abs(my)<= abs(ansy)) || (my == 0 &&ansy == 0 && abs(mx)<= abs(ansx)))
{
cout<<"Impossible"<<endl;
return;
}
while(cnt[1]--)
{
putchar('R');
// cout<<'R';
if(cnt[2]!=0)
{
putchar('L');
// cout<<'L';
cnt[2]--;
}
}
while(cnt[2]--)
{
putchar('L');
// cout<<'L';
}
while(cnt[3]--)
{
putchar('U');
// cout<<'U';
if(cnt[4]!=0)
{
putchar('D');
// cout<<'D';
cnt[4]--;
}
}
while(cnt[4]--)
{
putchar('D');
// cout<<'D';
}
}
cout<<endl;
}
int main()
{
// ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int tcase;
cin>>tcase;
while(tcase--)
{
slove();
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3796kb
input:
5 1 1 RURULLD 0 5 UUU 0 3 UUU 0 2 UUU 0 0 UUU
output:
RLRLUDU UUU Impossible Impossible Impossible
result:
ok 5 cases
Test #2:
score: -100
Time Limit Exceeded
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:
RUDUDR URU Impossible Impossible RLRLRRRRUDUDUDUDUDUDUUUU RRUUUDUUU RRDRLDR UD Impossible LDDLLLRR LDRURLDD RLRLRLRLRLRLRLRRRRUDUDUDUDUDUDUDUDUDD DUDDLLRDU LL RLRLLLLLUDUDUDDDD URDULUR Impossible RUDUDUDUDUDUDUD Impossible LDLRLLDRRL RLRLRLRLRLRLRLRLLUDD RL Impossible Impossible Impossible Impossibl...