题目描述
有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置。小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向)。小车会受到一系列依照时间戳记排序的命令,1表示“向左转”,2表示“向右转”,3表“停止”。每个命令的前面有一个时间戳记,所以我们知道该命令是何时发出的。最后一个命令一定是“停止”。我们另外假设,这辆小车非常灵活,它可以在瞬间转弯。
以下列输入为例。小车在时间为5的时候收到一个“向左转”的命令1,在时间10收到一个“向右转”的命令2,在时间15收到一个“停止”的命令3。那么在最后时间15的时候,小车的位置将在(-50,100)。程序只要求输出小车最后的位置,第一个整数是x坐标,第二个整数是y坐标。
输入
输入包含多个命令,每个命令由整数time和command组成,表示在时刻time发出命令command。command的取值范围1-3,含义如上所述。
输出
输出占一行,包含两个整数,表示小车的最终位置。两个整数之间由空格隔开。
样例输入 Copy
5
1
10
2
15
3
样例输出 Copy
-50 100
提示
此题信息量大,考查内容较为综合。
(1)数字化。可为四个方向编号,自向北开始,逆时针将4个方向依次编号为0,1,2,3。当接到向左转命令,方向号增1,向右转则方向号减1。为避免出现负数或大于3的情况,可对4取模。
来源/分类

*****

算法 一

# include<stdio.h>
int main()
{int t,m,f=0,x=0,y=0,l=0,t1;while(scanf("%d %d",&t,&m)){t1=t-l;if(f==0)y=y+t1*10;else if(f==1)x=x-t1*10;else if(f==2)y=y-t1*10;else if(f==3)x=x+t1*10;l=t;if(m==1)f=(f+1)%4;else if(m==2)f=(f-1+4)%4;else if(m==3)break;    }printf("%d %d\n",x,y);return 0;
}

算法 二

#include<stdio.h>
#include<math.h>
int main()
{int x=0,y=0,command,time,direct=0;//初始方向为北static int m=0;while (scanf("%d %d", &time, &command)){for(;m<time;m++){if(direct==0)  y=y+1*10; else if(direct==1) x=x-1*10; else if(direct==2) y=y-1*10; else if(direct==3) x=x+1*10; }if(command==1) direct=(direct+1)%4;else if(command==2) direct=(direct-1+4)%4;//注意对负数的处理,要先加上4再对4取余else if(command==3) break;}printf("%d %d",x,y);return 0;
}

小汽车的位置(二维坐标运算)相关推荐

  1. python 可视化 二维坐标标注等等

    python 可视化 二维坐标标注等等 - 蔡军帅 - 博客园https://www.cnblogs.com/caiyishuai/p/9607250.html 大佬的分享,在这里方便自己总结学习,因 ...

  2. 101 Three.js 场景世界坐标和平面二维坐标互转

    平面坐标转场景坐标 这种转换由于是由2D转换为3D,所以转换过于以后,平面的坐标在场景坐标内的位置应该是从相机的near到far的一条直线.所以我们无法确定单个点的坐标,一般都是使用当前2D平面的坐标 ...

  3. java坐标移动题目case_用java怎样编写一个二维坐标平移程序

    展开全部 java编写二维坐标平移程序,主要是e69da5e887aa62616964757a686964616f31333337626231通过类继承Point2D,使用里面的方法来平移,如下代码: ...

  4. java 课后习题 二维坐标距离 三角形判断等

    知识点: 1.三角形的判断公式 两边之和大于第三边 2.二维坐标两点距离公式 根号[(x1-x2)平方+(y1-y2)平方] 3.JAVA Math.pow(变量,指数); 的运用 4.JAVA Ma ...

  5. 【JAVA 第四章 流程控制语句】课后习题 二维坐标距离 三角形判断等

    知识点: 1.三角形的判断公式 两边之和大于第三边 2.二维坐标两点距离公式 根号[(x1-x2)平方+(y1-y2)平方] 3.JAVA Math.pow(变量,指数); 的运用 4.JAVA Ma ...

  6. Python实现二维离散卷积运算

    Python实现二维离散卷积运算 卷积运算是图像处理中的重要操作,它可以对图像进行平滑.增强边缘等处理.在Python中,我们可以使用numpy库来实现二维离散卷积运算. 首先,我们需要定义一个二维滤 ...

  7. C#版二维坐标点按行排序

    版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/mr_frank_xie/article/details/84977398 二维坐标点按行排序的算法思路 ...

  8. 三维坐标转换为二维坐标

    三维坐标转换为二维坐标 最近做项目用到三维坐标转换为二维平面坐标的转换公式.看了网上的很多资料,都不太适用自己的项目.最后决定自己来推导. 具体问题描述 如下图所示,将二维平面上的三维坐标系O-X'Y ...

  9. 二维坐标和三维坐标相互转换

    原理参考世界坐标系.相机坐标系.图像坐标系.像素坐标系之间的转换 我的需求是将二维点转换成三维点,旋转三维点,再转换为二维点,此处的旋转跟相机成像的旋转矩阵又没有关系. 假定像素坐标为(u,v),处理 ...

最新文章

  1. 详解 Java 中的三种代理模式
  2. CTF-Xortool,windows上的安装与使用
  3. [LeetCode]题解(python):072-Edit Distance
  4. Python调用C函数的方法以及如何编写Python的C扩展
  5. apache php mysql开发优点_Zope的优点和Apache PHP MySQL的比较_PHP
  6. ise和modelsim联合仿真的一些准备
  7. php实现ppt样式效果源码,jQuery移动端和桌面设备的轻量级幻灯片特效源码
  8. 浅谈C++设计模式之抽象工厂(Abstract Factory)
  9. 使用VSCode如何调试C#控制台程序_2_加深总结
  10. java poi jar包下载_poi.jar包下载
  11. 如何用安卓手机做代理服务器
  12. windows 许可证即将过期,解决方案
  13. 分享一下我在东方时尚学车的经历
  14. 如何提高网页的加载速度 ——优化网页图片加载
  15. java jsp 跳转_JSP页面跳转的五种方法
  16. 性能测试基础培训 - PPT下载
  17. CSDN写作小技巧—— Markdown 语法排版
  18. 多光谱高光谱图像算法面经
  19. excel表格计算年龄_在Excel中计算年龄
  20. DS二叉树—二叉树构建与遍历(不含框架)

热门文章

  1. 毕业了,等待我们的是什么?
  2. 学习使用php实现生成模糊图片的方法类整理
  3. 一个在线显示doc文本的实例
  4. 2021年美容师(高级)考试资料及美容师(高级)考试技巧
  5. uni-app项目(分类页)
  6. E. Exits in Excess
  7. node nvm 安装及使用
  8. 计算机管理员注销,肿么注销计算机管理员
  9. 学习Python编程好找工作吗?
  10. 悟空CRM项目测试实战(4)