找试场——世上无难题,只要肯思考_耀晨SYW
来源:互联网 发布:下载手机app软件 编辑:程序博客网 时间:2024/05/08 10:33
【未经作者同意,不许转载!!!!!!未经作者同意,不许转载!!!!!!未经作者同意,不许转载!!!!!!】
【讨论加我QQ:1721324995 讨论加我QQ:1721324995 讨论加我QQ:1721324995 非诚勿扰!非诚勿扰!非诚勿扰!】
题目见链接【戳】
思路:
上来直接暴力。
但是,暴力也是要有技术的。比如在刚刚过去的NOIP,因为暴力没打好的我从320降到270(╯﹏╰)。这一题主要思路是:读入字符串,判断是否是数字。如果是,则按现方向行进;否则,是right则方向向右,是left则方向向左。其中最难处理的是转向,就连老师讲的这题的题解,都十分麻烦,甚至要用10多行来处理转x向。我琢磨一下,想到二维搜索中的ty和tx(有些人不习惯用ty、tx,直接是在x、y后面加减,建议大家用tx、ty)。但是在这里,下标是个麻烦事儿。
比如当k(tx和ty的下标)为3,转向指令为右(这里我写的应为k+1)时,(k+1)mod 4=0!因此我想到一种方法:把tx、ty的数组界限改为0..3(见下图法一)。然而我似乎是个死脑筋,应又试出了一种方法(见下图法二)。
(法一) (法二)
也是很可以啊,两种方法都AC了(此处应有掌声)!不知我是怎么想出来的,总之一定花了不少脑筋。这灵验了沃仔基(我自己)的话:“世上无难题,只要肯思考。”
下面上AC程序(此程序用的是法二):
const tx:array[1..4]of longint=(0,1,0,-1); ty:array[1..4]of longint=(1,0,-1,0);var i,n,t,x,y,k:longint; st:string;flag:boolean;begin readln(n);t:=1;flag:=true; for i:=1 to n do begin readln(st); if (st[1]>='0')and(st[1]<='9') then begin val(st,k); x:=x+k*tx[t];y:=y+k*ty[t]; writeln('(',x,',',y,')');flag:=false; end else begin if st[1]='r' then t:=t mod 4+1 else t:=(t+2)mod 4+1; end; end; if flag then write('(0,0)');end.
- 找试场——世上无难题,只要肯思考_耀晨SYW
- 18岁生日——细节决定成败_耀晨SYW
- 【USACO2008NOV】采购干草——会做的题目做错才可惜_耀晨SYW
- HDOJ1069 猴子和香蕉——输出的格式很重要_耀晨SYW
- scratch——在 小猫 中制作钟_耀晨SYW(未完)
- [RQNOJ]137找试场
- 世上无难事,只要肯登攀
- 【字符串处理】【RQNOJ】找试场
- rqn 137 找试场(模拟)
- 【2016.10.7NOIP普及模拟】找试场
- 只要肯学,多少都会进步
- 只要肯努力,梦想就能实现!
- 单例模式——世上只有一个我,再无其它!
- 只要你肯再坚持一下就能发现转机
- 只要肯用脑子,就不是简单的重复
- 周鸿祎:只要肯用脑子,就不是简单的重复
- HDU 2045 不容易系列之(3)—— LELE的RPG难题 找规律
- HDOJ 2045不容易系列之(3)—— LELE的RPG难题 找规律
- 异常:java.lang.IllegalArgumentException: node to traverse cannot be null!
- 51Nod 1035 最长的循环节
- 低耦合,简单易懂
- CAP原则
- 1120. Friend Numbers (20)-PAT甲级真题
- 找试场——世上无难题,只要肯思考_耀晨SYW
- ajax方法的用法
- Linux进程间通信——使用消息队列
- Linux进程间通信——使用共享内存
- 11:字符串、字符数组、字符指针数组
- java学习(synchronized)
- 1064. 朋友数(20)-PAT乙级真题
- android TV遥控器控制GridView不能正常滚动
- Matplotlib学习笔记