B - Snow Walking Robot
Posted dreamingbetter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B - Snow Walking Robot相关的知识,希望对你有一定的参考价值。
题意:给出一段表方向的字符串,u、d、l、r分别表示向上、向下、向左、向右,让你重新排列,使其走出去再回到原点,除了原点能走两次以外其他点都只能走一次,输 出走的次数和走法。
思路:最简单的走法:就是绕一圈,先全是上,再全是右,全是下,全是左,即上的次数==下的次数,左的次数==右的次数,求两组对应方向的较小值,两值之和的两倍 即是走的次数。
有一个方向出现次数是0,则对应的反方向则也为0,另外两个方向就只能各一个,例如:上出现次数是0,则只有一种情况,向左走,再向右走回原点,结束。
#include<stdio.h> #include<algorithm> #include<string.h> #include<math.h> using namespace std; int main(){ int q,l,r,u,d,hmin,smin,i; char a[int(1e5+5)]; while(~scanf("%d%*c",&q)){ while(q--){ gets(a); l=r=u=d=0; for(i=0;a[i]!=‘