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& ...
随机推荐
- MySQL实战45讲笔记一
MySQL的基本架构大体可以分为server层和存储引擎层,逻辑架构图如下: Server层除了图中显示的,还包括所有的内置函数(包括日期.时间.数学和加密函数等),存储过程.触发器.视图等跨存储引擎 ...
- TestNG离线安装步骤
1.下载testNG 离线安装包[eclipse-testng离线包],并解压.资源可以在下载:http://download.csdn.net/detail/u012100968/9623613: ...
- Docker入门(1):概述
1.摘要 在这篇文章中,我将介绍一下为什么需要虚拟化的环境. 然后我将介绍耳熟能详的虚拟化技术:虚拟机,并大致的介绍一下虚拟机的原理,希望能够让你知道虚拟机的优劣. 在之后,针对虚拟机存在的问题,引出 ...
- Tensorflow与Keras自适应使用显存
Tensorflow支持基于cuda内核与cudnn的GPU加速,Keras出现较晚,为Tensorflow的高层框架,由于Keras使用的方便性与很好的延展性,之后更是作为Tensorflow的官方 ...
- 不同编程语言实现HelloWorld程序
目录 C C# C++ HTML Java Python C #include <stdio.h> int main() { printf("Hello World!" ...
- plsql启动报 Using filter for all users can lead to poor perform
首先,这个与Oracle配置无关,就是在使用pl/sql左侧树形目录时会看到非常多的和你当前工作无关的表,视图,序列等,导致打开速度慢. 解决办法:Tools-->Object browser ...
- Canvas干货总结
一.canvas简介 <canvas> 是 html5 新增的,一个可以使用脚本(通常为 javascript) 在其中绘制图像的 html 元素.它可以用来制作照片集或者制作简单的动画 ...
- jupyter lab最强代码补全插件
1 简介 提起kite相信不少朋友都有印象,它是一个功能非常强大的代码补全工具,目前可用于Python与javascript,为许多知名的编辑器譬如Vs Code.Pycharm提供对应的插件. 图1 ...
- 如何用Nearby Service开发针对附近人群的精准广告推送功能
当你想找一家餐厅吃饭,却不知道去哪家,这时候手机跳出一条通知,为你自动推送附近优质餐厅的信息,你会点击查看吗?当你还在店内纠结于是否买下一双球鞋时,手机应用给了你发放了老顾客5折优惠券,这样的广告 ...
- Mac上使用Docker Desktop启动Kubernetes,踩坑后终于搞掂
1 前言 Kubernetes又简称k8s,是Google开源的容器集群管理系统,最近也是火热.闲来无事(为了发文),捣鼓了一下,在Mac上搭建Kubernetes,遇到一些坑,也记录一下. 另外,D ...