Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu

Submit
Status

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

第一组样例:

  1. P酱在 时刻位于原点 ,他只能向左移动,但他选择不走。
  2. P酱在 时刻依然位于原点 ,他只能向下移动,于是他向下移动到了
  3. P酱在 时刻位于 ,他只能向右移动,于是他移动到了出口 ,所以在 时刻,P酱离开了这片区域!
超时到死,一直深搜一直wa,简直要崩溃了,原来只是一个规律,,,,,
#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酱的冒险旅途(模拟)的更多相关文章

  1. P酱的冒险旅途(思维)

    P酱的冒险旅途 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit S ...

  2. Atitit 游戏的原理与概论attilax总结

    Atitit 游戏的原理与概论attilax总结 1. 游戏历史2 1.1.1. 盘点PC游戏史上最重要的50款游戏2 1.1.2. 回味人类文明进程 五款经典的历史游戏2 2. 游戏类型(主要分为6 ...

  3. OO生存指南P1

    写在OO作业之前 在正式写oo作业之前,先说一些“废话”吧,就当是对oo的吐槽. 事实上,早在大一的时候,听说数分很难,然而事实证明数分并没有有让我通宵的体验. 在大二上的时候有一门课叫祭祖,号称是第 ...

  4. 基于Vue的WebApp项目开发(五)

    实现图片分享列表 步骤一:新增图片列表文件photolist.vue <template> <div id="tml"> 图片分享页面 </div&g ...

  5. 0915 N校联考

    树上路径(phantasm) 题目背景 Akari是一个普通的初中生. 题目描述 Akari的学校的校门前生长着一排n棵树,从西向东依次编号为1∼n.相邻两棵树间的距离都是1.Akari上课的教学楼恰 ...

  6. UESTC_酱神寻宝 2015 UESTC Training for Dynamic Programming<Problem O>

    O - 酱神寻宝 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  ...

  7. UESTC_酱神的旅行 2015 UESTC Training for Dynamic Programming<Problem M>

    M - 酱神的旅行 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit ...

  8. UESTC_酱神赏花 2015 UESTC Training for Dynamic Programming<Problem C>

    C - 酱神赏花 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 262143/262143KB (Java/Others) Submi ...

  9. noip模拟26[肾炎黄·酱累黄·换莫黄]

    \(noip模拟26\;solutions\) 这个题我做的确实是得心应手,为啥呢,因为前两次考试太难了 T1非常的简单,只不过我忘记了一个定理, T2就是一个小小的线段树,虽然吧我曾经说过我再也不写 ...

随机推荐

  1. Android 基础知识图谱

    四大组件 Activity Service BroadcastReceiver ContentProvider Application 常用组件 Fragment RecyclerView WebVi ...

  2. 黑马程序员 关于c# windows窗体关闭时线程未能完全退出问题(专题一)

    <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a> ...

  3. $.extend 合并对象(处理可传入0个或多个参数)

    function test(options){             $.extend({ },this.Default,options);                  var v = thi ...

  4. linux中集群的免秘钥SSH直接登录

    这里以三台mysql的主从服务器为例:manage.master.slave1.slave2   给4个机器生成秘钥文件 以manage为例,执行命令,生成空字符串的秘钥(后面要使用公钥),命令是: ...

  5. altera quartus 百度云分享 quartus prime 17.1 16.1 13.0

    quartus prime 17.1 标准版 链接:https://pan.baidu.com/s/10QWejKdDobVxDSqnVPJ0xQ 提取码:hhvj 复制这段内容后打开百度网盘手机Ap ...

  6. c++ map迭代器

    #include <stdio.h> #include <map> using namespace std; int main(){ map<int, int> m ...

  7. 洛谷——P1063 能量项链

    P1063 能量项链 题目描述 在MarsMars星球上,每个MarsMars人都随身佩带着一串能量项链.在项链上有NN颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对 ...

  8. POJ3278——Catch That Cow

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 114140   Accepted: 35715 ...

  9. docker安装kong和kong-dashboard

    1:docker安装遵循官方手册 2:安装kong 参考文档:https://getkong.org/install/docker/ 安装过程基本和文档一致,文档十分简单清晰. 但应注意,为了最新版k ...

  10. Git 基础教程 之 远程推送

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应了起来,并且,远程仓库默认名称是origin. git remote 查看远程库信息 git remote - ...