题意:

一只乌龟,最开始在坐标原点上,他有四种操作,如下:

F:向当前方向前进一步(乌龟的初始方向是向上↑);

B:向当前方向的相反方向前进一步;

L:向左转90度,不进行移动;

R:向右转90度,不进行移动;

现在给出你一个字符串,由FBLR组成,问乌龟走完路径之后,他走过的点覆盖的面积。

思路:

模拟即可,没什么可说的。

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
#include<map>
#include<stack>
#include<cmath>
#include<cstdlib>
#include<climits>
#include<sstream>using namespace std;char com[550];int main()
{int t;scanf("%d",&t);while(t--){scanf("%s",com);int len=strlen(com);int x=0,y=0;int dir=1;int minx=0;int miny=0;int maxx=0;int maxy=0;for(int i=0;i<len;i++){if(com[i]=='F'){if(dir==1){y++;miny=min(y,miny);maxy=max(y,maxy);}else if(dir==2){x++;minx=min(x,minx);maxx=max(x,maxx);}else if(dir==3){y--;miny=min(y,miny);maxy=max(y,maxy);}else{x--;minx=min(x,minx);maxx=max(x,maxx);}}else if(com[i]=='B'){if(dir==1){y--;miny=min(y,miny);maxy=max(y,maxy);}else if(dir==2){x--;minx=min(x,minx);maxx=max(x,maxx);}else if(dir==3){y++;miny=min(y,miny);maxy=max(y,maxy);}else{x++;minx=min(x,minx);maxx=max(x,maxx);}}else if(com[i]=='L'){if(dir==1)dir=4;else if(dir==2)dir=1;else if(dir==3)dir=2;else dir=3;}else if(com[i]=='R'){if(dir==1)dir=2;else if(dir==2)dir=3;else if(dir==3)dir=4;else dir=1;}}int ans=(maxx-minx)*(maxy-miny);printf("%d\n",ans);}return 0;
}

uva1515(模拟)相关推荐

  1. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  2. curl模拟post请求

    另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...

  3. flask_模拟请求post,get

    #coding:utf-8 import requestsres = requests.post(url="http://192.168.135.105:8888/",data={ ...

  4. 模拟内存计算如何解决边缘人工智能推理的功耗挑战

    模拟内存计算如何解决边缘人工智能推理的功耗挑战 How analog in-memory computing can solve power challenges of edge AI inferen ...

  5. 为放大器模拟输入模块提供可靠的输入过电压保护

    为放大器模拟输入模块提供可靠的输入过电压保护 Signal Chain Basics #159: Provide robust input overvoltage protection for amp ...

  6. 模拟Servlet本质

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

  7. 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计

    目录 Flink模拟双十一实时大屏统计 需求 数据 编码步骤: 1.env 2.source 3.transformation 4.使用上面聚合的结果,实现业务需求: 5.execute 参考代码 实 ...

  8. Python:模拟登录、点击和执行 JavaScript 语句案例

    案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...

  9. 杨老师课堂_Java核心技术下之控制台模拟文件管理器案例

    背景需求介绍: 编写一个模拟文件管理器的程序,实现控制台对文件和文件夹的管理操作. 要求在此程序中: 当用户输入指令 1 时,代表"指定关键字检索文件",此时需要用户输入检索的目录 ...

最新文章

  1. Python爬虫之urllib和requests哪个好用--urllib和requests的区别
  2. 为什么重新new两个线程线程号相同_C++ 20中的新线程(jthread)功能
  3. 极客大挑战2020_五省同燃,千人开赛。2020年全国轮滑大联动暨MX名星轮滑伴我行城市轮滑挑战赛——扬州站、襄阳站、南宁站、潍坊站、沈阳站完美收官...
  4. zlog使用手册,小靠谱啊
  5. 快速安装本地yum源
  6. Leaflet中使用Leaflet.Pin插件实现图层要素编辑效果
  7. /dev/null 文件
  8. mybatisplus 操作另一个数据库的数据_MySQL数据库的基础操作
  9. Bootstrap鼠标悬停下拉导航总结
  10. nGrinder Loadrunner vs nGrinder
  11. 系统级程序设计结课实验-第一部分
  12. 已经有了Thread为什么还要Runnable
  13. 谷歌地图TMS地图服务地址收集,测试可用
  14. 为PDF批量添加书签
  15. 硬盘出现坏道以及处理方法
  16. python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
  17. 手写java_JAVA实现简单手写识别
  18. 2012年第一批中关村高端领军人才公示公告
  19. mysql 8.0 直方图_MySQL 8.0 中统计信息直方图的尝试
  20. linux系统下怎么安装.deb文件?

热门文章

  1. 科大星云诗社动态20210503
  2. 科大星云诗社动态20211108
  3. 2018 最好的机器学习实用指南书籍来了!
  4. 海南师范大学计算机设计大赛证书,我校品牌VI设计作品在中国大学生计算机设计大赛海南省赛中获得一等奖...
  5. class ts 扩展方法_ts类型声明文件的正确使用姿势
  6. Python8:logging Module
  7. WCF中的web.config配置文件
  8. Delphi中预想不到的代码楼主zswang(伴水清清)(专家门诊清洁工)2002-05-16 14:20:38 在 Delphi / VCL组件开发及应用 提问
  9. starUML--面向对象的设计过程
  10. ubuntu安装curl报错或get update失败