jzoj 1588. 【普及模拟】GPS定位
来源:互联网 发布:ios10 连接网络 编辑:程序博客网 时间:2024/06/08 02:16
今天是你的生日,你得到一个生日礼物全球定位系统GPS(Global Positioning System),可以用来记录你的路线的一些重要的点,便于回来时方便,这些点需要输入名字来标识,但这个GPS没有键盘,只有4个方向键,中间是一个“accept”键,如下所示:
屏幕上显示一个虚拟键盘,排成5*6的网格,如下:
当你准备输入一个名字时,光标一开始在字母“A”处,你可以通过方向键移动光标到你想要的位置,然后按下“accept”键,一旦你全部输完就必须把光标移到“enter”处再按下“accept”完成整个输入。
给你一个名字,计算出光标最少需要移动多少次。
输入
输入包含一个长度不超过40的字符串,你可以假设所有字符都在键盘上能够找到(字母都是大写)。
输出
输出一个整数表示光标的移动次数。
var a:array['A'..'Z',1..2] of integer; i,j,k,m,s,n,x,y:longint; st:ansistring;begin assign(input,'j3.in'); reset(input); assign(output,'j3.out');rewrite(output); readln(st); j:=1; k:=1; for i:=1 to 26 do begin a[chr(ord('A')+i-1),1]:=j; a[chr(ord('A')+i-1),2]:=k; inc(k); if k>6 then begin k:=1; inc(j); end; end; x:=1; y:=1; for i:=1 to length(st) do begin if st[i] in ['A'..'Z'] then begin s:=s+abs(x-a[st[i],1])+abs(y-a[st[i],2]); x:=a[st[i],1]; y:=a[st[i],2]; end else if st[i]=' ' then begin s:=s+abs(x-5)+abs(y-3); x:=5; y:=3; end else if st[i]='-' then begin s:=s+abs(x-5)+abs(y-4); x:=5; y:=4; end else if st[i]='.' then begin s:=s+abs(x-5)+abs(y-5); x:=5; y:=5; end end; s:=s+abs(x-5)+abs(y-6); writeln(s);end.
2 2
- jzoj 1588. 【普及模拟】GPS定位
- jzoj 1570. 【普及模拟】射击
- jzoj 1571. 【普及模拟】过河
- jzoj 1579. 【普及模拟】老鼠
- jzoj 1589. 【普及模拟】洗牌
- jzoj 1591. 【普及模拟】游戏
- jzoj P1508【普及模拟】蚂蚁
- jzoj P1507【普及模拟】数列
- jzoj P1510【普及模拟】剪草
- 【普及模拟】数列 (jzoj)
- jzoj P1509【普及模拟】单元格
- [模拟](JZOJ)【普及模拟】蚂蚁
- GPS定位模拟测试
- jzoj 1569. 【普及模拟】公共子串
- jzoj 1568. 【普及模拟】石子游戏
- jzoj 1576. 【普及模拟】自动统计机
- jzoj 1577. 【普及模拟】抓猫
- jzoj 1578. 【普及模拟】N皇后
- iOS 开发中滑动视图的循环播放
- 最大公约数和最小公倍数(gcd的几种解法)
- 实现UWP ListBox横向展示内容
- Poj 2002
- crontab定时任务
- jzoj 1588. 【普及模拟】GPS定位
- ViewFlipper与Gesture的使用<一>
- mysql查看表使用的数据库引擎
- Android webView控制网页路由
- 备忘录模式 详解
- android uiautomator自动化测试记录
- 5.MFC实现简单的COM
- android有序广播和无序广播的区别
- Android自定义权限与使用