P酱是个可爱的男孩子,有一天他在野外冒险,不知不觉中走入了一块神奇的地方。他在0 0时刻进入这个地方,每一时刻他都只能向某一特定的方向移动长度为1的距离,当然他也可以选择不移动。移动需要花费1 1的时间。

各个时刻他允许移动的方向由一个字符串给出,字符串只包含UDLR四种字符,其中U表示向上(y y轴正方向)移动,D表示向下(y y轴负方向)移动,L表示向左(x x轴负方向)移动,R表示向右(x x轴正方向)移动。

字符串的第x x个字符代表了第x x时刻P酱可以移动的方向,字符串的长度只有t t,也就是说,超过t t时刻,P酱就要被邪恶的魔王大爷抓走了~

现在P酱在坐标原点,即(0,0) (0,0)点,而出口在(x,y) (x,y)点,P酱希望在规定的时间t t内尽快走到出口。帮助P酱在最短的时间内离开这里吧~

Input

第一行包含一个正数 T T (T≤100 T≤100),表示数据组数。

接下来每组数据包含两行,第一行包含三个整数 x,y,t x,y,t (−10 5 ≤x,y≤10 5 ,0<t≤10 5  −105≤x,y≤105,0<t≤105);第二行包含一个长度为t t的字符串,第i i个字符表示在i i时刻他能移动的方向,字符串只包含UDLR四种字母。

Output

t

Sample input and output

Sample Input Sample Output
2
1 -1 5
LDRDR
-2 1 8
RRUDDLRU
3
-1

Hint

第一组样例:

  1. P酱在0 时刻位于原点(0,0) ,他只能向左移动,但他选择不走。
  2. P酱在1 时刻依然位于原点(0,0) ,他只能向下移动,于是他向下移动到了(0,−1)
  3. P酱在2 时刻位于(0,−1) ,他只能向右移动,于是他移动到了出口(1,−1) ,所以在3 时刻,P酱离开了这片区域!

解:

画一下二维坐标图,P酱只会向四个方向走,左上,右上,左下,右下,其他在坐标轴上。也就是说你只要在一系列的方向中挑往目标方向靠的方向就行。

例如:左上,你肯定只会挑往左,和往右走的这两个方向。

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
using namespace std;
const int maxn=1e5+50;
int ex,ey,n;
int l,r,u,d;
char at[maxn];
void init()
{if(ex>=0)r=ex;else l=-ex;if(ey>=0)u=ey;else d=-ey;
}
void arrive(char a)
{if(a=='U'&&u!=0)u--;else if(a=='D'&&d!=0)d--;else if(a=='L'&&l!=0)l--;else if(a=='R'&&r!=0)r--;}
int main()
{int t;scanf("%d",&t);while(t--){bool flag=false;l=0,r=0,u=0,d=0;scanf("%d%d%d",&ex,&ey,&n);init();scanf("%s",at);int k;if(l==0&&r==0&&u==0&&d==0){k=0;flag=true;}else{for(int i=0;i<n;i++){arrive(at[i]);if(l==0&&r==0&&u==0&&d==0)flag=true;if(flag){k=i+1;break;}}}if(!flag)printf("-1\n");else printf("%d\n",k);}return 0;
}

cdoj_758_P酱的冒险旅途相关推荐

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

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

  2. UESTC 758 P酱的冒险旅途

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

  3. UESTC--758--P酱的冒险旅途(模拟)

    P酱的冒险旅途 Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu Submit Status ...

  4. UESTC oj 758 P酱的冒险旅途

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

  5. UESTC P酱的冒险旅途 785 (规律模拟)

    UESTC - 758 P酱的冒险旅途 Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu Su ...

  6. UESTC 1899 P酱的冒险旅途

    P酱的冒险旅途 Time Limit: 1000 ms Memory Limit: 65535 kB Description P酱是个可爱的男孩子,有一天他在野外冒险,不知不觉中走入了一块神奇的地方. ...

  7. UESTC 758-P酱的冒险旅途【BFS】

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

  8. UESTC 758:P酱的冒险旅途【水】

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

  9. UESTC 758 P酱的冒险旅途【贪心】

    P酱的冒险旅途 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:%lld & %llu Submit Status ...

最新文章

  1. ROS nodelet的使用
  2. 基于FPGA的costas环同步系统仿真与分析
  3. 安信证券王环:安信证券数据中台建设历程
  4. 参数调整 新部署rac_详解Oracle数据库RAC架构性能优化--参数设置+优化设计
  5. 【白皮书分享】快手私域经营白皮书.pdf(附下载链接)
  6. bio linux 创建_Linux设备驱动--块设备之概念和框架以及相关结构体
  7. HCIE-RS面试--STP故障及处置
  8. 一文读懂一台计算机是如何把数据传送给另外一台计算机的
  9. [EventKit] Error getting default calendar for new reminders: Error Domain=EKCADErrorDomain Code=1013
  10. Elasticsearch: 运用 Pinned query 来提高文档的排名 (7.5发行版新功能)
  11. 如何做好项目规划?以及项目规划常用的管理软件盘点
  12. 抗混叠滤波及折叠频率
  13. 不要凡事在天,守株待兔
  14. K8s系列之:Deployment应用实战和Deployment相关命令整理
  15. 期货中的“心静”和“身静”
  16. Exception from HRESULT: 0x80004004 (E_ABORT) 的错误
  17. golang go get 时提示 no Go files in xxx
  18. 华为云工程师HCIA——桌面云解决方案概述
  19. 【jeecg boot】【PowerDesigner】使用PD创建数据库,并使用jeecg生成代码来创建一个干部任命表单
  20. CTS测试框架 -- V1版本

热门文章

  1. MyBatis插入相关问题(insert、InsertSelective)
  2. 用于检查和改进代码的PHP代码质量工具
  3. QQ移动端分享(主标题,副标题,分享图)可改
  4. 慧都MES系统助力制造型工厂实现透明化、精细化管理
  5. 5月中国移动净增用户垫底,联通和电信增长更快
  6. 汇编语言程序设计读书笔记(4)- 程序设计基础之一
  7. C语言数组代码,小明摘苹果
  8. 如何实现采购管理流程的优化?
  9. 行业分析-全球与中国气动精密播种机市场现状及未来发展趋势
  10. 计算机毕业设计Java小区生活服务平台的设计与实现(源码+系统+mysql数据库+Lw文档)