QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#612867#6422. Evil CoordinatedyfhpuWA 0ms3584kbC++171.7kb2024-10-05 13:14:062024-10-05 13:14:20

Judging History

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

  • [2024-10-05 13:14:20]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3584kb
  • [2024-10-05 13:14:06]
  • 提交

answer

#include <iostream>
#include <cstring>
#include <map>
#include <cmath>
using namespace std;
#define int long long
void solve()
{
	int x,y;cin>>x>>y;
	string s;cin>>s;
	map<char,int> mp;
	int edx=0,edy=0;
	for(int i=0;i<s.size();i++) {
		mp[s[i]]++;
		if(s[i]=='R') {
			edx++;
		}else if(s[i]=='L') {
			edx--;
		}else if(s[i]=='U') {
			edy++;
		}else {
			edy--;
		}
	}
	if(x>1e5||y>1e5||x<-1e5||y<-1e5) {
		cout<<"Impossible"<<endl;
		return ;
	}
	if(edx==x&&edy==y||x==0&&y==0) {
		cout<<"Impossible"<<endl;
		return ;
	} 
	int sum1=mp['R'],sum2=mp['L'],sum3=mp['U'],sum4=mp['D'];
	if((sum3-sum4)>=y&&y>=0&&x==0&&sum1==0&&sum2==0) {
		cout<<"Impossile"<<endl;
		return ;
	}
	if((sum1-sum2)>=x&&x>=0&&y==0&&sum3==0&&sum4==0) {
		cout<<"Impossible"<<endl;
		return ;
	}
	if((sum4-sum3)>=abs(y)&&y<=0&&x==0&&sum1==0&&sum2==0) {
		cout<<"Impossible"<<endl;
		return ;
	}
	if((sum2-sum1)>=abs(x)&&x<=0&&y==0&&sum3==0&&sum4==0) {
		cout<<"Impossible"<<endl;
		return ;
	}
	if(x>=0&&y>=0) {
		while(sum2--) cout<<'L';
		while(sum4--) cout<<'D';
		while(sum1--) cout<<'R';
		while(sum3--) cout<<'U';
		cout<<endl;
	}
	else if(x>=0&&y<0) {
		while(sum2--) cout<<'L';
		while(sum3--) cout<<'U';
		while(sum1--) cout<<'R';
		while(sum4--) cout<<'D';
		cout<<endl;
	}
	else if(x<0&&y>=0) {
		while(sum1--) cout<<'R';
		while(sum4--) cout<<'D';
		while(sum3--) cout<<'U';
		while(sum2--) cout<<'L';
		cout<<endl;
	}
	else {	
		while(sum1--) cout<<'R';
		while(sum3--) cout<<'U';
		while(sum2--) cout<<'L';
		while(sum4--) cout<<'D';
		cout<<endl;
	}
}
signed main()
{
	int t;
	cin>>t;
	while(t--){
		solve();
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3584kb

input:

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

output:

LLDRRUU
UUU
Impossible
Impossile
Impossible

result:

wrong answer Line "Impossile" doesn't correspond to pattern "[UDLR]{1,100000}|Impossible"