zoukankan      html  css  js  c++  java
  • Codeforces 1272B Snow Walking Robot

    思路:

    想要回原点,那L和R数量需要相等,U和D数量需要相等;
    如果竖直方向或水平方向不可以移动,那只能移一次水平或者竖直方向;
    否则移个正方形即可;

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    typedef pair<int,int> P;
    typedef long long LL;
    #define fi first
    #define sc second
    #define pb(a) push_back(a)
    #define mp(a,b) make_pair(a,b)
    #define pt(a) cerr<<a<<"---
    "
    #define rp(i,n) for(int i=0;i<n;i++)
    #define rpn(i,n) for(int i=1;i<=n;i++)
    int main(){
    	ios::sync_with_stdio(false);
    	cin.tie(nullptr);
    	int q;cin>>q;
    	while(q--){
    		string s;cin>>s;
    		int u=0,d=0,l=0,r=0;
    		for(char c:s){
    			if(c=='U') u++;
    			else if(c=='D')d++;
    			else if(c=='L')l++;
    			else if(c=='R')r++;
    		}
    		int x=min(l,r),y=min(u,d);
    		if(x==0){
    			if(y==0) cout<<"0
    ";
    			else{
    				cout<<2<<'
    ';
    				cout<<"UD
    ";
    			}
    		}else if(y==0){
    			if(x==0) cout<<"0
    ";
    			else cout<<2<<'
    '<<"LR
    ";
    		}else{
    			cout<<(x+y)*2<<'
    ';
    			string res="";
    			rp(i,x) res+="L";
    			rp(i,y) res+="U";
    			rp(i,x) res+="R";
    			rp(i,y) res+="D";
    			cout<<res<<'
    ';
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    mongodb简介
    tomcat简介
    date的详细说明
    30岁前成功的12条黄金法则
    2012春晚经典语录
    统计文件中某个单词出现的次数
    nginx简介
    ATM取款机系统模拟仿真
    十三种时间管理方法
    笔试常见的智力题 附答案
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12308753.html
Copyright © 2011-2022 走看看