UESTC 1899 P酱的冒险旅途
来源:互联网 发布:游戏耳机推荐知乎 编辑:程序博客网 时间:2024/05/01 16:53
P酱的冒险旅途
Time Limit: 1000 ms Memory Limit: 65535 kB
Description
P酱是个可爱的男孩子,有一天他在野外冒险,不知不觉中走入了一块神奇的地方。他在0时刻进入这个地方,每一时刻他都只能向某一特定的方向移动长度为1的距离,当然他也可以选择不移动。移动需要花费1的时间。
各个时刻他允许移动的方向由一个字符串给出,字符串只包含U、D、L、R四种字符,其中“U”表示向上(y轴正方向)移动,“D”表示向下(y轴负方向)移动,“L”表示向左(x轴负方向)移动,“R”表示向右(x轴正方向)移动。
字符串的第x个字符代表了第x时刻P酱可以移动的方向,字符串的长度只有t,也就是说,超过t时刻,P酱就要被邪恶的魔王大爷抓走了~
现在P酱在坐标原点,即(0,0)点,而出口在(x,y)点,P酱希望在规定的时间t内尽快走到出口。帮助P酱在最短的时间内离开这里吧~
Input
第一行包含一个正数 T (T <= 100),表示数据组数。
接下来每组数据包含两行,第一行包含三个整数 x,y,t (-10^5 <= x,y <= 10^5, 0< t <= 10^5);第二行包含一个长度为t的字符串,第i个字符表示在i时刻他能移动的方向,字符串只包含“U”,“D”,“L”,“R”四种字母。
Output
对于每组数据输出一行,表示P酱到达出口的最早时刻。如果他无法在t时刻内到达出口,输出“-1”。
Sample Input
2
1 -1 5
LDRDR
-2 1 8
RRUDDLRU
Sample Output
3
-1
Hint
第一组样例:
1、P酱在0时刻位于原点(0, 0),他只能向左移动,但他选择不走。
2、P酱在1时刻依然位于原点(0, 0),他只能向下移动,于是他向下移动到了(0,-1)
3、P酱在2时刻位于(0,-1),他只能向右移动,于是他移动到了出口(1, -1),所以在3时刻,P酱离开了这片区域!
Source
第五届ACM趣味程序设计竞赛第二场(正式赛)
解题思路:
从原点到出口的最短距离肯定是最多只有两种字符组成。
因为如果一种字符能缩短距离,则对应的另一种字符就是增加距离,
且最短距离中每个字符出现次数是固定的。
这样,我们每次判断当前字符能否缩短距离就行了。
#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 100005 char str[N]; int main() { int x,y,t,T,i,u,l,d,r; scanf("%d",&T); while(T--) { int flag=-1; u=0;d=0;l=0;r=0; scanf("%d%d%d",&x,&y,&t); getchar(); if(x<0) l=-1*x; else r=x; if(y<0) d=y*-1; else u=y; gets(str); for(i=0;i<t;i++) { if(u==0&&d==0&&l==0&&r==0) //到达出口,此时的下标i就是最短时间 { flag=i; break; } if(str[i]=='U'&&u>0) u--; if(str[i]=='D'&&d>0) d--; if(str[i]=='L'&&l>0) l--; if(str[i]=='R'&&r>0) r--; } printf("%d\n",flag); } return 0; }
- UESTC 1899 P酱的冒险旅途
- uestc 1899 P酱的冒险旅途
- UESTC 758 P酱的冒险旅途
- UESTC 758 P酱的冒险旅途
- uestc--758--P酱的冒险旅途
- UESTC 758 P酱的冒险旅途
- UESTC--758--P酱的冒险旅途(模拟)
- UESTC P酱的冒险旅途 785 (规律模拟)
- UESTC 758-P酱的冒险旅途【BFS】
- UESTC 758 P酱的冒险旅途【贪心】
- UESTC oj 758 P酱的冒险旅途
- UESTC 758:P酱的冒险旅途【水】
- cdoj_758_P酱的冒险旅途
- 人生最大的冒险就是不冒险
- 不去冒险,才是最大的冒险
- 旅途的意义
- 新的旅途
- 旅途的包袱
- 搜索存储过程脚本中的某段字符串
- 在excel中查找某列内容中是否有重复数据
- cygwin下安装软件
- windows批处理小应用
- android PopupWindow
- UESTC 1899 P酱的冒险旅途
- iOS端新浪微博登出后再次登录跳过授权,登出无效的解决方法
- 集合的运算
- JVM 垃圾回收相关
- 一次软件异常退出的排查(IE、Adobe Reader无法打开问题)
- 僵尸进程的产生和避免,如何kill杀掉linux系统中的僵尸defunct进程
- 对于提高PHP网站的效率,缓存技术和生成HTML静态页技术哪个更好一些?
- Java Integer 常量池
- 安装nvidia驱动需要的准备工作