T1 找试场 题解
拖延症又犯了QwQ。
今天上午考试了,按照惯例,我仍然要把我会的所有题的题解写一遍。
1.找试场(way.cpp/in/out)
问题描述
小王同学在坐标系的(0,0)处,但是他找不到考试的试场,于是一边走路一边问路,
每个被问路的人会告诉他一个指令(包括走路或转弯),现在请编一个程序,显示他每次走
路后的坐标(转弯后坐标不变,所以不必显示坐标)。
初始方向向 y 轴正半轴!! 输入格式
第一行一个数 n,表示有 n 个指令,接下来 n 行每行一个指令,每个指令是“left” 或 “right”或数字。 输出格式
(有 m 个走路的指令)共 m 行,每一行一个坐标,表示走完后的坐标。如果只是原地转
弯,从开始到最后从来不走动,则输出“(0,0)”。
这是第一题,看起来还不错,打表很香的样子,但我是一个学识浅薄的小孩,我根本不知道y轴正半轴是什么意思
不慌,不慌,我们来看看样例。
样例输入 6
2
left
2
right
right
3
样例输出
(0,2)
(-2,2)
(1,2)
样例告诉了我们一些有用的东西啊!首先,不转动的时候向前移动,是y增加。面向左向前移动,是x减少。面向右向前移动是x增加。知道了3个最后一个也很简单,是y减少。这样就可以美妙的打表了。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
long long n;
long long fx,x,y,shu,bj;
string s;
int main()
{
freopen("way.in","r",stdin);
freopen("way.out","w",stdout);
scanf("%lld",&n);
for(int i=0;i<n;i++)
{
cin>>s;
if(s[0]=='l')//向左转!
{
fx--;
if(fx==-1)//转了一圈
{
fx=3;
}
}
else if(s[0]=='r')//向右转!
{
fx++;
if(fx==4)//转了一圈
{
fx=0;
}
}else//齐步走!
{
bj=1;//这个是标记,如果一直在原地转圈圈是要输出(0,0)的。
shu=0;
for(int j=0;j<s.length();j++)//计算出走的步数。
{
shu*=10;
shu+=s[j]-'0';
}
if(fx==0)//打表真香
{
y+=shu;
}
if(fx==1)
{
x+=shu;
}
if(fx==2)
{
y-=shu;
}
if(fx==3)
{
x-=shu;
}
printf("(%lld,%lld)\n",x,y);//输出结果
}
}
if(bj==0)
{
cout<<"(0,0)"<<endl;
}
return 0;
}
这个题就这么愉快的结束了,下个题再见。
T1 找试场 题解的更多相关文章
- 洛谷P3412 仓鼠找$Sugar\ II$题解(期望+统计论?)
洛谷P3412 仓鼠找\(Sugar\ II\)题解(期望+统计论?) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327573 原题链接:洛谷P3412 ...
- 2016多校第六场题解(hdu5793&hdu5794&hdu5795&hdu5800&hdu5802)
这场就做出一道题,怎么会有窝这么辣鸡的人呢? 1001 A Boring Question(hdu 5793) 很复杂的公式,打表找的规律,最后是m^0+m^1+...+m^n,题解直接是(m^(n+ ...
- [noi.ac省选模拟赛]第10场题解集合
题目 比赛界面. T1 不难想到,对于一个与\(k\)根棍子连接的轨道,我们可以将它拆分成\(k+1\)个点,表示这条轨道不同的\(k+1\)段. 那么,棍子就成为了点与点之间的边.可以发现,按照棍子 ...
- 2019HDU多校第四场题解
1001.AND Minimum Spanning Tree 传送门:HDU6614 题意:给你一个又n个点的完全图,点编号从1~n,每条边的权值为被连接的两点编号按位与后的值.现在要你找到最小生成树 ...
- 2019牛客暑期多校第一场题解ABCEFHJ
A.Equivalent Prefixes 传送门 题意:给你两个数组,求从第一个元素开始到第p个元素 满足任意区间值最小的元素下标相同的 p的最大值. 题解:我们可以从左往右记录到i为止每个区间的最 ...
- [noi.ac省选模拟赛]第12场题解集合
题目 比赛界面. T1 数据范围明示直接\(O(n^2)\)计算,问题就在如何快速计算. 树上路径统计通常会用到差分方法.这里有两棵树,因此我们可以做"差分套差分",在 A 树上对 ...
- [noi.ac省选模拟赛]第11场题解集合
题目 比赛界面. T1 比较简单.容易想到是求鱼竿的最大独立集.由于题目的鱼竿可以被分割为二分图,就可以想到最大匹配. 尝试建边之后会发现边的数量不小,但联系题目性质会发现对于一条鱼竿,它 ...
- 牛客巅峰赛S2第6场题解
牛客编程巅峰赛S2第6场 A-StringⅡ 题目 题目描述 给出一个仅包含小写字母的字符串s,你最多可以操作k次,使得任意一个小写字母变为与其相邻的小写字母(ASCII码差值的绝对值为1),请你求出 ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
随机推荐
- 基于web网站项目的性能测试结果分析
业务背景: 最近公司研发了一款对并发要求比较高的web项目,需要对其压力测试,模拟线上可能存在的问题,这个过程中遇到一些很多问题,这里重新梳理一下思路,希望能给遇到同样问题的小伙伴提供一个参考. 工具 ...
- ABP (.Net Core 3.1版本) 使用MySQL数据库迁移启动模板项目(1)
最近要搭建新项目,因为还没有用过.net core,所以想用.net core的环境搭建新项目,因为不熟悉.net core的架构,所以就下载了abp项目先了解一下. 因为自己太菜了,下载了模板项目, ...
- Selenium自动化测试与练习
Selenium WebDriver 提供了web自动化各种语言(java python ruby等等) 调用接口库 提供 各种浏览器的驱动(web driver) 来驱动浏览器的 特点 测试程度可以 ...
- opencv C++ Mat构造函数
cv::Scalar scalar1(v); cv::Mat mat3(size,CV_8UC1,scalar1); std::cout<<mat3<<std::endl; s ...
- 你想不到的沙雕,10行代码Python实现GIF图倒放,每天的快乐源泉
前言 GIF图现在已经融入了我们的日常网络生活,微信群.QQ群.朋友圈......一言不合就斗图,你怕了吗?不用担心,只要学会了Python之GIF倒放技能,你就是“斗图王”. 咱们直接开始本文的内容 ...
- 深入理解Java闭包概念
闭包又称词法闭包 闭包最早定义为一种包含<环境成分>和<控制成分>的实体. 解释一:闭包是引用了自由变量的函数,这个被引用的变量将和这个函数一同存在. 解释二:闭包是函数和相关 ...
- Perl入门(四)Perl的正则表达式
正则表达式是Perl语言的特色,基本的语法不是很难,但是编写一个符合需求.高效的正则表达式,还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正则表达式内容/; 作用:查找匹配内容中是否 ...
- 001_动力节点_SpringMVC4_SpringMVC简介
1.视频的下载地址是 下载地址:百度云盘 链接:http://pan.baidu.com/s/1ge58XW3 密码:yd5jhttp://www.java1234.com/a/javaziliao/ ...
- IDEA2019版中文汉化包
废话不多说,上才艺 E G M~~~~~ 2020版的IDEA大佬可以无视........ 1.打开IDEA文件目录 2.打开lib目录--将汉化版复制到该目录下 3.打开IDEA查看效果 高铁链 ...
- dart快速入门教程 (7.3)
7.4.抽离类为单独文件 新建一个文件,单独存放一个类,例如:Person类抽离到person.dart文件中 class Person { final String name; final num ...