HNUSTOJ-1695 跳格子(略感头疼)
1695: 跳格子
时间限制: 1 Sec 内存限制: 128 MB
提交: 230 解决: 57
[提交][状态][讨论版]
题目描述
逸夫楼的大厅的地面有10行10列的石砖,我们用坐标(x,y)来表示石砖的位置。如图示:
一天lxl在逸夫楼大厅玩跳格子游戏,跳格子游戏有7个动作:1.向左转,2向右转,3向后转,4向左跳一格,5向前跳一格,6向右跳一格,7向后跳一格。游戏前,lxl在(1,1)处并面向y轴正方向,他会做n次动作,若某个动作会让lxl跳出逸夫楼大厅则原地不动,每一次动作后都需要你输出lxl当前的位置。当n次动作都做完后,你还需要统计lxl到达过多少个格子。
输入
第一行输入n(0<n<101),表示lxl做的动作次数,接下来有n行,每行一个整数x(0<x<8)表示要做的动作。
输出
每次动作后输出lxl的当前坐标,一共有n行。随后的第n+1行输出lxl到达过的格子总数。
样例输入
7
5
4
1
7
3
2
6
样例输出
(1,2)
(1,2)
(1,2)
(2,2)
(2,2)
(2,2)
(1,2)
3
#include<iostream>
#include<cstring>
#include<cstdio> using namespace std;
const int N = + ;
const int dir[][] = {{-, }, {, -}, {, }, {, }}; struct node{
int x, y, d;
}mat[N][N], p;
int a[]; int dirs_tran(int d, int x){
if(x == ) d = (d + ) % ; //左
if(x == ) d = (d + ) % ; //右
if(x == ) d = (d + ) % ; //后
return d;
} void dirs_work(int x){
p.d = dirs_tran(p.d, x);
} void moves_work(int x, int & cnt){
int cur;
if(x == ) cur = dirs_tran(p.d, );
if(x == ) cur = p.d;
if(x == ) cur = dirs_tran(p.d, );
if(x == ) cur = dirs_tran(p.d, );
int newx = p.x + dir[cur][], newy = p.y + dir[cur][];
if(newx > && newx <= && newy > && newy <=){
p.x = newx, p.y = newy;
if(!mat[newx][newy].d) { mat[newx][newy].d = ; cnt++; }
}
} void Solve_question(int n){
for(int i = ; i <= ; i ++)
for(int j = ; j <= ; j++) mat[i][j].d = ; int cnt = ;
p.x = , p.y = , p.d = ;
mat[][].d = ;
for(int i = ; i < n; i++){
if(a[i] >= && a[i] <= ) dirs_work(a[i]);
else moves_work(a[i], cnt);
printf("(%d,%d)\n",mat[p.x][p.y].x, mat[p.x][p.y].y);
}
printf("%d\n", cnt);
} void Init_mat(){
for(int i = ; i <= ; i++)
for(int j = ; j <= ; j++) mat[i][j] = (node) {j, -i}; }
int main(){
int n;
Init_mat();
scanf("%d", &n);
for(int i = ; i < n; i++) scanf("%d", &a[i]);
Solve_question( n ); }
HNUSTOJ-1695 跳格子(略感头疼)的更多相关文章
- 固态LiDAR,半固态混合LiDAR,机械LiDAR
固态LiDAR,半固态混合LiDAR,机械LiDAR 1. APD/SPAD 2轴MEMS扫描镜+ SPAD图像传感器在混合固态LiDAR中的应用 APD的工作模式分为线性模式和盖革模式两种.当APD ...
- 从零开始攻略PHP(5)——字符串操作与POSIX正则
一.字符串操作 1.字符串的格式化 1.1 干掉空格 trim()函数可以除去字符串开始位置和结束位置的空格,并将结果字符串返回. ltrim()函数可以除去字符串开始位置的空格. rtrim()函数 ...
- 一生伏首拜阳明------<明朝那些事儿>
一生伏首拜阳明. 王守仁,字伯安,别号阳明. 成化八年(1472),王守仁出生在浙江余姚,大凡成大事者往往出身贫寒,小小年纪就要上山砍柴,下海捞鱼,家里还有几个生病的亲属,每日以泪洗面.这差不多也是惯 ...
- 就这么漂来漂去---一个毕业三个月的java程序员的裸辞风波
注:这并不是一篇技术文章,而是记录了我这几个月经历的入职,裸辞,找工作的心路历程,简单介绍一个博主的情况,我是16年毕业生,校招进了一家北京的公司,java开发,和很多年轻人一样,干了一段时间,我发现 ...
- beanstalkd 消息队列
概况:Beanstalkd,一个高性能.轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Faceb ...
- flash小游戏在Kongregate上线——BasketBall Master(篮球大师)
小游戏地址,欢迎上去留言评论.游戏完成度没有达到期望水平,只能算完成了核心玩法吧,一些其他构想来不及实现. BasketBall Master(篮球大师) 这个小游戏很早之前就基本做好了,只因有些细节 ...
- Kafka设计解析(一)- Kafka背景及架构介绍
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/01/02/Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅 ...
- Windows下程序启动时出现0xc000007b错误的解决方案
一.背景介绍 不久前用Qt开发了一款小工具在公司使用,Debug运行时一切正常.可是当Release编译发布打包之后,运行时弹出这样的提示框: 略一思考,首先排除了DLL缺失的可能性.我知道Qt应用程 ...
- [转]9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头of ...
随机推荐
- 10.django的一些方法理解
django get_object_or_404 get_object_or_404是django的django shortcuts的方法,用来查询数据,或者抛出一个DoesNotExist的异常 用 ...
- 解决JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer问题
** 错误1: **在eclipse中新创建一个web项目的时候项目下的JSP文件中会爆出错误:The superclass “javax.servlet.http.HttpServlet” was ...
- IDEA中Springboot静态文件加载(热部署)
Springboot项目静态文件加载 昨天写项目的时候碰到一个问题,就是静态文件css无法读取到项目中,我仔细思考了下,总结了下,可能有两个问题 1.页面未加载更新 这个可能性非常大,Chrome就是 ...
- Android 5种Toast特效
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失. 1.默认效果: Toast.ma ...
- Burp suite抓取HTTPS请求
一.下载链接:Burp suite 密码:orpr 二.抓取浏览器HTTPS请求 1.打开CMD,进入到Burp suite下载路径,执行:java -jar BurpLoader.jar 2.点击 ...
- logstash之OutPut插件
output插件是经过了input,然后过滤结构化数据之后,接下来我们需要借助output传到我们想传到的地方.output相当于一个输出管道. 2.3.1: 将采集数据标准输出到控制台 配置示例: ...
- nested exception is java.lang.OutOfMemoryError: PermGen space
原因: 持久带内存溢出. 方法:在启动的catalina.sh 里加上这个配置,增加持久带的大小. JAVA_OPTS="XX:PermSize=64M-XX:MaxPermSize=128 ...
- SQL Server database mail问题诊断一例
产品环境sql server database的mail发不出邮件,影响客户的业务,在数据库中进行诊断 诊断sql: EXEC msdb.dbo.sp_send_dbmail @profile_nam ...
- java基础--单例模式的7种实现【转载】
转载:http://www.blogjava.net/kenzhh/archive/2013/03/15/357824.html 第一种,线程不安全(懒汉模式) 1 public class Sing ...
- 复选框checked 选中后不显示打钩
复选框checked 选中后不显示打钩 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因 复选框绑定了click事件,点一次选中,再点击取 ...