QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#506172#6422. Evil CoordinatechanalCompile Error//C++143.6kb2024-08-05 15:47:472024-08-05 15:47:48

Judging History

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

  • [2024-08-05 15:47:48]
  • 评测
  • [2024-08-05 15:47:47]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
void solve() {
	int mx,my;
	cin>>mx>>my;
	string str;
	cin>>str;

	map<char,int> mp;
	for(int i=0; i<(int)str.size(); i++) {
		mp[str[i]]++;//统计各个方向移动的指令数目
	}
	int end_x=mp['R']-mp['L'];//不要取绝对值就是算最后的坐标
	int end_y=mp['U']-mp['D'];
	if((mx==0&&my==0)||(end_x==mx&&end_y==my)) {
		cout<<"Impossible"<<endl;
		return;
	}
//0 2 uuu
//endx=0,endy=3
	int posx=0,posy=0;

if(my==0) { //地雷在x轴上
		if(end_y==0) { //最后落在x轴上
			if(mx>0) { //如果
				if(end_x>mx) {
					cout<<"Impossible"<<endl;
					return;
				}
				for(int i=0; i<mp['U']; i++) {
					cout<<'U';
				}
				for(int i=0; i<mp['D']; i++) {
					cout<<'D';
				}
				for(int i=0; i<mp['L']; i++) {
					cout<<'L';
				}
				for(int i=0; i<mp['R']; i++) {
					cout<<'R';
				}cout<<endl;
				return;
			} else {
				if(end_x<mx) {
					cout<<"Impossible"<<endl;
					return;
				}
				for(int i=0; i<mp['U']; i++) {
					cout<<'U';
				}
				for(int i=0; i<mp['D']; i++) {
					cout<<'D';
				}
				for(int i=0; i<mp['R']; i++) {
					cout<<'R';
				}
				for(int i=0; i<mp['L']; i++) {
					cout<<'L';}
				cout<<endl;
				return;
			}
		} else {
			for(int i=0; i<mp['U']; i++) {
				cout<<'U';
			}
			for(int i=0; i<mp['D']; i++) {
				cout<<'D';
			}
			for(int i=0; i<mp['L']; i++) {
				cout<<'L';
			}
			for(int i=0; i<mp['R']; i++) {
				cout<<'R';
			}cout<<endl;
			return;
		}
	} else if(mx==0) { //如果地雷在y轴上
		if(end_x==0) { //最后落在y轴上
			if(my>0) { //如果
				if(end_y>my) {
					cout<<"Impossible"<<endl;
					return;
				}
				for(int i=0; i<mp['L']; i++) {
					cout<<'L';
				}
				for(int i=0; i<mp['R']; i++) {
					cout<<'R';
				}
				for(int i=0; i<mp['D']; i++) {
					cout<<'D';
				}
				for(int i=0; i<mp['U']; i++) {
					cout<<'U';
				}
				cout<<endl
				return;
			} else {
				if(end_y<my) {
					cout<<"Impossible"<<endl;
					return;
				}
				for(int i=0; i<mp['R']; i++) {
					cout<<'R';
				}
				for(int i=0; i<mp['L']; i++) {
					cout<<'L';
				}
				for(int i=0; i<mp['U']; i++) {
					cout<<'U';
				}
				for(int i=0; i<mp['D']; i++) {
					cout<<'D';
				}
				cout<<endl;
				return;
			}
		} else {
			for(int i=0; i<mp['L']; i++) {
				cout<<'L';
			}
			for(int i=0; i<mp['R']; i++) {
				cout<<'R';
			}
			for(int i=0; i<mp['U']; i++) {
				cout<<'U';
			}
			for(int i=0; i<mp['D']; i++) {
				cout<<'D';
			}
			cout<<endl;
			return;
		}
	}else if(end_x!=mx&&end_y!=my) { //如果两个最终的结果都不跟坐标相同
		for(int i=0; i<mp['L']; i++) {
			cout<<'L';
		}
		for(int i=0; i<mp['R']; i++) {
			cout<<'R';
		}
		for(int i=0; i<mp['U']; i++) {
			cout<<'U';
		}
		for(int i=0; i<mp['D']; i++) {
			cout<<'D';
		}
		cout<<endl;
		return;
	} else if(end_x!=mx&&end_y==my) {//若x不相同,但是y的坐标相同的话__地雷的点不在坐标轴上,但是在
		for(int i=0; i<mp['L']; i++) {
			cout<<'L';
		}
		for(int i=0; i<mp['R']; i++) {
			cout<<'R';
		}
		for(int i=0; i<mp['U']; i++) {
			cout<<'U';
		}
		for(int i=0; i<mp['D']; i++) {
			cout<<'D';
		}
		cout<<endl;
		return;
	} else if(end_y!=my&&end_x==mx) { //如果y最后不相同但是x相同,
		for(int i=0; i<mp['U']; i++) {
			cout<<'U';
		}
		for(int i=0; i<mp['D']; i++) {
			cout<<'D';
		}
		for(int i=0; i<mp['L']; i++) {
			cout<<'L';
		}
		for(int i=0; i<mp['R']; i++) {
			cout<<'R';
		}
		cout<<endl;
		return;
	}


}
int main() {
	int t;
	cin>>t;
	while(t--) {
		solve();
	}
}

Details

answer.code: In function ‘void solve()’:
answer.code:96:43: error: expected ‘;’ before ‘return’
   96 |                                 cout<<endl
      |                                           ^
      |                                           ;
   97 |                                 return;
      |                                 ~~~~~~