首页 > 其他分享 >洛谷题单指南-模拟和高精度-P1563 [NOIP2016 提高组] 玩具谜题

洛谷题单指南-模拟和高精度-P1563 [NOIP2016 提高组] 玩具谜题

时间:2024-01-17 17:15:16浏览次数:37  
标签:NOIP2016 下标 int 洛谷题 P1563 寻找 num 数组 朝向

原题链接:https://www.luogu.com.cn/problem/P1563

题意解读:

本题关键在于根据小人的朝向和寻找的方向来确定数组下标的变化。

用数组存储小人,int d[]存朝向,int a[]存名称,朝向和寻找方向有4种组合:

朝向(0:向内,1:向外)   寻找方向(0:左,1:右)   数组下标操作
0 0 顺时针寻找,下标递减
0 1 逆时针寻找,下标递增
1 0 逆时针寻找,下标递增
1 1 顺时针寻找,下标递减

总结一下,如果朝向^方向=1,则下标递增,如果朝向^方向=0,则下标递减。

注意:数组下标增减时,要处理越界问题,采用循环数组的方式处理即可,设数组长度为n,当前下标为from,变化量为num,

增加时:from = (from + num) % n, 减少时:from = (from - num + n) % n。

100分代码:

#include <bits/stdc++.h>
using namespace std;

const int N = 100005;

string a[N]; // 玩具小人的名称,逆时针方向对应数组递增
int d[N]; // 玩具小人的朝向,0:向内 1:向外

int n, m;

int main()
{
    cin >> n >> m;

    for(int i = 0; i < n; i++) 
    {
        cin >> d[i] >> a[i];
    }

    int dir; //左右
    int num; //数几个
    int from = 0; //从第1个人开始
    for(int i = 0; i < m; i++)
    {
        cin >> dir >> num;

        if((d[from] ^ dir) == 1) from = (from + num) % n; // 如果小人的朝向和寻找的方向异或为1,则往数组递增的方向寻找
        else from = (from - num + n) % n; // 如果小人的朝向和寻找的方向异或为0,则往数组递减的方向寻找
    }

    cout << a[from];
}

 

标签:NOIP2016,下标,int,洛谷题,P1563,寻找,num,数组,朝向
From: https://www.cnblogs.com/jcwy/p/17970453

相关文章

  • 洛谷题单指南-模拟和高精度-P1042 [NOIP2003 普及组] 乒乓球
    原题链接:https://www.luogu.com.cn/problem/P1042题意解读:分别针对11分制和21分制,输出每局比分。只需要判断一局的结束条件:得分高者如果达到11或者21,且比分间隔大于等于2分,则表示一局结束,可开始下一局,用模拟法即可解决。100分代码:#include<bits/stdc++.h>usingnamespaces......
  • SP15637 GNYR04H - Mr Youngs Picture Permutations(线性 dp)
    题目求方案数,考虑dp——状态设计和边界——题目告诉了一个很显然的性质:每一排从左至右保证高度单调递减每一列从后往前保证高度单调递减那么可以发现,对于每一行,每一列,一定是按高度顺序插入,并且是连续插入,因为如果不连续,就无法保证单调递减的性质同时,它给出了另一个性......
  • 【洛谷 P1909】[NOIP2016 普及组] 买铅笔 题解(打擂台法)
    [NOIP2016普及组]买铅笔题目背景NOIP2016普及组T1题目描述P老师需要去商店买支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起见,P老师决定只买同一种包装的铅笔。商店不允许将铅笔的包装......
  • 洛谷题解 | AT_abc321_c Primes on Interval
    目录题目翻译题目描述输入格式输出格式样例#1样例输入#1样例输出#1样例#2样例输入#2样例输出#2样例#3样例输入#3样例输出#3题目简化题目思路AC代码题目翻译【题目描述】你决定用素数定理来做一个调查.众所周知,素数又被称为质数,其含义就是除了数字一和本身之外不能......
  • Ynoi2012 NOIP2016 人生巅峰
    Day\(\text{XXX}\)。注意到修改是易于复合的立方操作,而且值域非常小,所以可以直接\(O(v\logm)\)预处理出对每个\(i\in[0,v)\)操作了\(2^{j}\lem\)次的结果,维护出每一位被修改了多少次,查询某一位的值直接倍增\(O(\logm)\)即可。然后这个限制很弱,因为如果区间内有重复......
  • 关于洛谷题解审核
    我想问一下,大家觉得题解的重点是什么?很显然是思路,代码的正确性,次要的才是格式。但是,洛谷对于题解格式的审核是不是有点过于严格了呢?比如说这段话:如果\(n\)为\(0\),那么便是无解。大家能一眼看出,后面多了空格吗?这种题解其实没什么大问题,别人看题解时根本不会在意这些......
  • 洛谷题解 | AT_abc321_c Primes on Interval
    目录题目翻译题目描述输入格式输出格式样例#1样例输入#1样例输出#1样例#2样例输入#2样例输出#2样例#3样例输入#3样例输出#3题目简化题目思路AC代码题目翻译【题目描述】你决定用素数定理来做一个调查.众所周知,素数又被称为质数,其含义就是除了数字一和本身之外不能......
  • P5836 [USACO19DEC] Milk Visits S - 洛谷题解
     题目链接:[P5836] USACO19DEC] MilkVisitsS-洛谷|计算机科学教育新生态(luogu.com.cn)这道题可以用并查集来解决。题目中每个结点只有两个状态:H和G。那么我们可以推断出,只有当起点和终点间每个结点的状态相同但是起点(或者终点或起点到终点之间的某一点)与所需状态不同......
  • 洛谷题解 | P1046 陶陶摘苹果
    ​目录题目描述输入格式输出格式输入输出样例说明/提示题目思路AC代码题目描述陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现......
  • NOIP2016提高组初赛易错题解析
    9. 正解:每一个bit,都有两种可能,0和1,所以最多可以使用232=4GB的内存 14. 正解:使用代入法,T(n)=2T(n/4)+sqrt(n),T(n/16)=2T(n/4/4/4)+1/4*sqrt(n),T(n)=2k+k*sqrt(n)=sqrt(n)+k*sqrt(n),则时间复杂度为O(sqrt(n)logn) 二.1. 正解:前三个都是无线通信技术,以太网是有......