UESTC--758--P酱的冒险旅途(模拟)
| Time Limit: 1000MS | Memory Limit: 65535KB | 64bit IO Format: %lld & %llu |
Description
P酱是个可爱的男孩子,有一天他在野外冒险,不知不觉中走入了一块神奇的地方。他在
时刻进入这个地方,每一时刻他都只能向某一特定的方向移动长度为1的距离,当然他也可以选择不移动。移动需要花费
的时间。
各个时刻他允许移动的方向由一个字符串给出,字符串只包含U、D、L、R四种字符,其中U表示向上(
轴正方向)移动,D表示向下(
轴负方向)移动,L表示向左(
轴负方向)移动,R表示向右(
轴正方向)移动。
字符串的第
个字符代表了第
时刻P酱可以移动的方向,字符串的长度只有
,也就是说,超过
时刻,P酱就要被邪恶的魔王大爷抓走了~
现在P酱在坐标原点,即



点,而出口在



点,P酱希望在规定的时间
内尽快走到出口。帮助P酱在最短的时间内离开这里吧~
Input
第一行包含一个正数
(



),表示数据组数。
接下来每组数据包含两行,第一行包含三个整数 



(















);第二行包含一个长度为
的字符串,第
个字符表示在
时刻他能移动的方向,字符串只包含U,D,L,R四种字母。
Output
对于每组数据输出一行,表示P酱到达出口的最早时刻。如果他无法在
时刻内到达出口,输出-1。
Sample Input
2
1 -1 5
LDRDR
-2 1 8
RRUDDLRU
Sample Output
3
-1
Hint
第一组样例:
- P酱在
时刻位于原点



,他只能向左移动,但他选择不走。 - P酱在
时刻依然位于原点



,他只能向下移动,于是他向下移动到了





- P酱在
时刻位于




,他只能向右移动,于是他移动到了出口




,所以在
时刻,P酱离开了这片区域!
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char str[100100];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
memset(str,'\0',sizeof(str));
int x,y,t;
scanf("%d%d%d",&x,&y,&t);
// getchar();
scanf("%s",str);
long long u,d,l,r;
u=d=r=l=0;
if(x>=0) r=x;
else l=x*-1;
if(y>=0) u=y;
else d=y*-1;
int ans=0;
for(int i=0;i<t;i++)
{
if(u==0&&d==0&&l==0&&r==0)
{
ans=i;
break;
}
if(str[i]=='U'&&u>0) u--;
else if(str[i]=='D'&&d>0) d--;
else if(str[i]=='L'&&l>0) l--;
else if(str[i]=='R'&&r>0) r--;
}
if(x==0&&y==0)
printf("0\n");
else if(ans!=0)
// printf("%s\n",str);
printf("%d\n",ans);
else printf("-1\n");
}
return 0;
}
UESTC--758--P酱的冒险旅途(模拟)的更多相关文章
- P酱的冒险旅途(思维)
P酱的冒险旅途 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit S ...
- Atitit 游戏的原理与概论attilax总结
Atitit 游戏的原理与概论attilax总结 1. 游戏历史2 1.1.1. 盘点PC游戏史上最重要的50款游戏2 1.1.2. 回味人类文明进程 五款经典的历史游戏2 2. 游戏类型(主要分为6 ...
- OO生存指南P1
写在OO作业之前 在正式写oo作业之前,先说一些“废话”吧,就当是对oo的吐槽. 事实上,早在大一的时候,听说数分很难,然而事实证明数分并没有有让我通宵的体验. 在大二上的时候有一门课叫祭祖,号称是第 ...
- 基于Vue的WebApp项目开发(五)
实现图片分享列表 步骤一:新增图片列表文件photolist.vue <template> <div id="tml"> 图片分享页面 </div&g ...
- 0915 N校联考
树上路径(phantasm) 题目背景 Akari是一个普通的初中生. 题目描述 Akari的学校的校门前生长着一排n棵树,从西向东依次编号为1∼n.相邻两棵树间的距离都是1.Akari上课的教学楼恰 ...
- UESTC_酱神寻宝 2015 UESTC Training for Dynamic Programming<Problem O>
O - 酱神寻宝 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- UESTC_酱神的旅行 2015 UESTC Training for Dynamic Programming<Problem M>
M - 酱神的旅行 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- UESTC_酱神赏花 2015 UESTC Training for Dynamic Programming<Problem C>
C - 酱神赏花 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 262143/262143KB (Java/Others) Submi ...
- noip模拟26[肾炎黄·酱累黄·换莫黄]
\(noip模拟26\;solutions\) 这个题我做的确实是得心应手,为啥呢,因为前两次考试太难了 T1非常的简单,只不过我忘记了一个定理, T2就是一个小小的线段树,虽然吧我曾经说过我再也不写 ...
随机推荐
- css3背景渐变色代码
从上到下 #grad { background: -webkit-linear-gradient(red, blue); background: -o-linear-gradient(red, b ...
- C#——数据库的访问
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Object未定义
js加载时会在jquery中报Object未定义的错误? 原因: 页面和iframe页面中都引入了jquery 或者 是页面中包含iframe,并且在iframe没有完成加载前操作了iframe中的j ...
- ZipMarket数字内容/素材交易网站源码项目
ZipMarket程序仿自Envato旗下网站,对于想创建数字内容/素材交易平台的站长来说,ZipMarket是一个十分独特和极具创新的解决方案,用户在你的网站注册并购买或出售数字内容/素材作品时,你 ...
- 清除Linux系统多余引导选项
由于我把系统给升级(update)了,在grub引导模式出现新旧版本(Grub与Grub2)的引导系统分别为正常启动和进入恢复模式各2个引导项,如下图显示:百度找不到相关或类似的教程,只好半夜起来研究 ...
- HDU_2203_KMP入门
亲和串 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- dos命令在vba中应用
正常情况下想要遍历文件夹和子文件夹,可以采用递归的方式 Sub ListFilesTest() With Application.FileDialog(msoFileDialogFolderPicke ...
- Java并发——阿里架构师是如何巧用线程池的!
一.创建线程 1.创建普通对象,只是在JVM的堆里分配一块内存而已 2.创建线程,需要调用操作系统内核的API,然后操作系统需要为线程分配一系列资源,成本很高 线程是一个重量级对象,应该避免频繁创建和 ...
- iOS标准库中常用数据结构和算法之查找
参数: key: [in] 要查找的元素.base:[in] 数组元素的首地址.nelp: [in/out] 数组的元素个数指针.width: [in] 数组中每个元素的尺寸.compar: [in] ...
- 解决hibernate删除时的异常 deleted object would be re-saved by cascade (remove deleted object from associa
今天在做项目时,需要删除一个对象,由于关联关系是一对多和多对一的关系,于是在代码中需要删除多的一方的对象时出现了 deleted object would be re-saved by cascade ...