洛谷 P1563 玩具谜题
如果你想不耗费脑力做出这个题目,往下看:
本萌新看到这个题目,想到了乘法法则,题目中左右方向要判断两次,很耗脑力,和乘法中的正负号判断非常像。
抽象一点:这个人向内向外就是乘法中括号外的正负号,他的左右方向是括号内的正负号,所以我们以singer为标准,每个人的 0 (朝内)为 1 ,每个人的 1 (朝外)为 -1 。
而他们的左右方向,因为题目图中是逆时针走向,所以和他们的朝内朝外是相反的,故判断每个人左右方向时, 0 为 -1 , 1 为 1 。
最后将两个判断方向的数乘起来(这事当然交给电脑了),就是最终方向。代码如下:
#include<iostream>
using namespace std;
int n,m,a,b,i,num[100001];
string name[100001];//准备工作
int main(){
cin>>n>>m;
for(i=1;i<=n;i++){
cin>>num[i]>>name[i];//输入
if(num[i]==0)num[i]=1;
else num[i]=-1;//以singer朝向为准,0为1,1为-1;
}
i=1;//从第一个开始循环
while(m){
cin>>a>>b;
if(a==0)a=-1;//题目的图中为逆时针,故 1为1,0为-1;
i+=num[i]*a*b;//乘法法则,把方向判断扔给电脑去算;
if(i<1)i=n+i;//边界情况
if(i>n)i%=n;//把他们围成一个圈
m--;
}
cout<<name[i];//输出,圆满
return 0;
}
洛谷 P1563 玩具谜题的更多相关文章
- 洛谷 P1563 玩具谜题【模拟/环】
题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时singer告诉 ...
- 洛谷 P1563 玩具谜题(模拟)
嗯... 题目链接:https://www.luogu.org/problem/P1563 这道题主要问题就是弄明白顺逆时针的问题,其实可以简化成一个异或的问题:当head与x异或值为零时,即为顺时针 ...
- 洛谷P1563 玩具谜题 简单模拟
没意义,注意方向别判错. Code: #include<cstdio> #include<cstring> using namespace std; const int max ...
- P1563 玩具谜题
P1563 玩具谜题 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: ...
- Map与对象关系的思考之P1563玩具谜题
P1563 玩具谜题 结论: map在一些情况有种"对象"的意味,在JSON中,对象可以用K-V格式存储:mybatis中参数是map或者对象都可以实现解析...k-v格式的数据存 ...
- 洛谷P1563 [NOIP2016 提高组] 玩具谜题
题目链接:https://www.luogu.com.cn/problem/P1563 哈哈哈,这个题拿来一读是不是很吃惊hahaha,我刚开始读的时候吓了我一跳,这么长的题干,这么绕的题意,还有下面 ...
- luogu P1563 玩具谜题
https://www.luogu.org/problemnew/show/1563 题目: 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩 ...
- 洛谷P3195 玩具装箱
P3195 [HNOI2008]玩具装箱TOY 第一道斜率优化题. 首先一个基本的状态转移方程是 要使f[i]最小,即b最小. 对于每个j,可以表示为一个点. 然后我们取固定斜率时截距最小的即可,高中 ...
- P1563 玩具谜题(简单模拟)
就是一个简单模拟 #include<iostream> #include<string> using namespace std; ; int in[maxn], x[maxn ...
随机推荐
- thinkphp3.2 批量添加数据
这是我遇到的thinkphp3.2 当中最让我无语的坑 批量添加数据有个方法是 addAll() 这个方法一定要注意数组的键名,一定要整齐!!! 可以在存入数据前,用ksort()方法将数组的键名排序 ...
- 微软职位内部推荐-Service Engineer for Office365
微软近期Open的职位: Key Responsibilities: The Service Engineer in this team will be responsible for plannin ...
- PAT甲题题解-1015. Reversible Primes (20)-素数
先判断n是否为素数然后把n转化成d进制下再反转,转化为十进制的num判断num是否为素数 注意n为0和1时,不是素数!!!注意反转后的num也有可能为1,不是素数!!! #include <io ...
- springmvc 集成apache cxf 开发webservice 示例
今天需要在springmvc中增加webservice功能,试了多次axis2,和cxf都不行,后来发现在springmvc中最好用cxf集成非常方便,在又一次尝试后终于把demo整合到现有的项目中 ...
- C++ new和delete 堆和栈
一.new和delete基本用法 程序开发中内存的动态分配与管理永远是一个让C++开发者头痛的问题,在C中,一般是通过malloc和free来进行内存分配和回收的,在C++中,new和delete已经 ...
- Notes of Daily Scrum Meeting(11.12)
今天我们召开了Beta阶段MOOC项目开发的第一次Scrum Meeting,在会上就alpha阶段进行了总结,然后我们确定了 接下来的Beta阶段的项目分工,并且就每天的进度汇报做了一个约定,就是每 ...
- UART协议总结
之前一直使用UART作为单片机之间以及和计算机的简单通信,但一直没有研究过该协议的内部原理.今天刚买了一个逻辑分析仪,于是使用该分析仪对UART数据进行分析,以便更好的理解UART协议原理. UART ...
- Xshell登录Docker
使用SSH协议登录即可,用户名为docker,密码为tcuser
- du 显示 前面以及或者两级的目录大小的方法
mark 一下 du -h --max-depth=
- 爆打团队 四则运算 beta视频
爆打团队 四则运算 beta视频链接 http://v.youku.com/v_show/id_XMTU1MjAzNDI0NA==.html?from=s1.8-1-1.2