题目描述
在一张二维的地图上,对角线的两边是两个皇宫,对角线上的整点处设有门,
穿过门时要付1元的过门费,主人公从(0,0)点开始按照给你的路径开始行走,求出主人公需要付的银币数。(‘U’表示向上行走,’R’表示向右行走)。
红色箭头表示主人公的行走路线,绿色的门代表主人公必须支付银币的大门。
输入
n(1<=n<=1e5)表示给出字符串长度,记下来一行给出长度为n的一个字符串表示主人公的行走路线。
输出
一个整数,表示主人公需要支付银币的个数。
样例输入
6
RURUUR
样例输出
1
参考代码
#include <stdio.h>
int main()
{
int i=0,j=0,money=-1,n,a,b=0;
//a为å½åæå¨ç宫ï¼b为è¡èµ°åæå¨ç宫
char direction;
scanf("%d",&n);
getchar();
while((direction=getchar())!=EOF)
{
if(direction=='U')
i++;
if(direction=='R')
j++;
if(i>j)
a=1;
if(i<j)
a=2;
if(a!=b)
money++;
b=a;
}
printf("%d",money);
return 0;
}
解析
暂无