An easy problem 思维
来源:互联网 发布:php输出js代码 编辑:程序博客网 时间:2024/06/05 11:34
Description
萌老师给Anonymous布置了数据结构课设作业――计算机博弈,Anonymous十分苦恼,于是她在纸上画棋盘来找灵感。这时她发现有一只蚂蚁落入了其中一个棋格里,现有一行只包括(U、D、L、R)四种字符的命令,U为上、D为下、L为左、R为右,现在Anonymous想知道这个命令中有多少子串(包括自身)能使蚂蚁回到原点
Input
第一行输入一个整数T,表示测试实例的数量;
对于每个实例,输入一个整数n(1<=n<=200),表示命令的长度,再输入一行长度为n仅包含(U、D、L、R)的字符串。
Output
对于每个实例,输出一个整数,表示满足要求的子串的数量。
Sample Input
1
6
URLLDR
Sample Output
2
Hint
题意
题解:
子串连续的 暴力来就行
开两组标记就可以了 每组标记的值之和为0
AC代码
#include <cstdio>#include <cstring>int lr[220],ud[220];int main(){ int t; scanf("%d",&t); while (t--){ memset(lr,0,sizeof(lr)); memset(ud,0,sizeof(ud)); int n; scanf("%d",&n); getchar(); char cc; for (int i = 0; i < n; ++i){ scanf("%c",&cc); if (cc =='L') lr[i]=-1; else if (cc == 'R') lr[i]=1; else if (cc == 'U') ud[i]=-1; else if (cc== 'D') ud[i]=1; } int a,b; int ans = 0; for (int i = 0; i < n; ++i){ a = 0,b = 0; for (int j = i; j < n; ++j){ a+=lr[j]; b+=ud[j]; if (a == 0 && b == 0) ans++; } } printf("%d\n",ans); } return 0;}
阅读全文
0 0
- An easy problem 思维
- HDU-2601-An easy problem【思维】
- HDU 2601 An easy problem(思维)
- hdoj 2601 An easy problem 【技巧(转换思维)】
- An Easy Problem
- 2055 An easy problem
- An Easy Problem!
- An Easy Problem!
- poj2826 An Easy Problem?!
- HDOJ2055 An easy problem
- An Easy Problem
- hdu-An Easy Problem
- hdu2601 An easy problem
- An Easy Problem
- hdu-An Easy Problem
- HDU_2055 An easy problem
- HDU_2123 An easy problem
- B - An easy problem
- QSettings介绍
- 说说was的端口
- 判断链表回文
- 双连通分量模板以及对一些不好理解点的解释
- 数据库简单sql语句小总
- An easy problem 思维
- SpringMVC源码(七)Controller控制器5-MultiActionController
- Eclipse去除js验证
- python中编码问题
- ajax的使用及传值
- Add bricks in the wall UVA
- 个人学习笔记1
- 如何去掉BottomNavigationView的Item大于3个时的动画效果
- 线程