传送门

https://www.cnblogs.com/violet-acmer/p/9937201.html

题解:

  一开始用暴力查找下一个要去的房间,超时了,emmmmm.......

  然后,就稍微优化了一下,具体看代码

 #include<bits/stdc++.h>
using namespace std;
const int MOD=;
const int maxn=1e4+; int N,M;
int pos;//当前位置
int id[];//存储每一层 pos 房间之后的 key==1 的房间编号
struct Node
{
int key;//0 表示没有,1 表示有
int index;//指示牌上的数 字
Node(int a=,int b=):key(a),index(b){};
}Floor[maxn][]; int nextRoom(int nowF,int pos)
{
int x=;
int p=pos;
do
{
if(Floor[nowF][p].key == )
id[++x]=p;//按照逆时针顺序,将key == 1的房间编号加入到id[]中
p=(p+ == M ? :p+);
}while(p != pos); int mod=Floor[nowF][pos].index%x;//id[mod]即为所求的房间
return mod == ? id[x]:id[mod];//特别注意,当mod == 0时,所求房间为 id[x]
}
void Solve()
{
int nowF=;
int sum=;
while(nowF <= N)
{
sum=sum%MOD+Floor[nowF][pos].index;//根据题意求解密钥
pos=nextRoom(nowF,pos);//查找下一个要去的房间
nowF++;
}
printf("%d\n",sum%MOD);
}
int main()
{
scanf("%d%d",&N,&M);
for(int i=;i <= N;++i)
{
for(int j=;j < M;++j)
{
int a,b;
scanf("%d%d",&a,&b);
Floor[i][j]=Node(a,b);
}
}
scanf("%d",&pos);
Solve();
}

  踩到一个坑:

    当 mod == 0 时,说明满足要求的房间为id[x]而不是id[0]

  

NOIP 普及组 2012 寻宝(思维???)的更多相关文章

  1. caioj:1348: [NOIP普及组2012]质因数分解 C++

    题目描述 已知正整数n是两个不同的质数的乘积,试求出两者中较大的那个质数. 输入样例 21 输出样例 7 输入 输入只有一行,包含一个正整数n. 输出 输出只有一行,包含一个正整数p,即较大的那个质数 ...

  2. 2321. 【NOIP普及组T1】方程

    2321. [NOIP普及组T1]方程 时间限制: 1000 ms  空间限制: 262144 KB 题目描述

  3. [NOIP普及组2011]装箱问题

    目录 链接 博客链接 题目链接 题目内容 题目描述 格式 输入 输出 样例 输入 输出 前缀知识 题解 题目名称:装箱问题 来源:2011年NOIP普及组 链接 博客链接 CSDN 洛谷博客 题目链接 ...

  4. [NOIP普及组2001]最大公约数和最小公倍数问题

    目录 链接 博客链接 题目链接 题目内容 题目描述 格式 输入 输出 数据 样例 输入 输出 说明 题目名称:最大公约数和最小公倍数问题 来源:2001年NOIP普及组 链接 博客链接 CSDN 洛谷 ...

  5. 2016.8.15上午纪中初中部NOIP普及组比赛

    2016.8.15上午纪中初中部NOIP普及组比赛 链接:https://jzoj.net/junior/#contest/home/1333 这次比赛不怎么好,因为这套题目我并不是很擅长. 可同学们 ...

  6. 2016.9.15初中部上午NOIP普及组比赛总结

    2016.9.15初中部上午NOIP普及组比赛总结 2016.09.15[初中部 NOIP普及组 ]模拟赛 又翻车了!表示时超和空超很可恨! 进度 比赛:AC+0+0+20=120 改题:AC+80+ ...

  7. 2016.9.10初中部上午NOIP普及组比赛总结

    2016.9.10初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1340 好不爽!翻车了!不过排名差不多在中间偏上一点, 还好不是 ...

  8. 2016.9.3初中部上午NOIP普及组比赛总结

    2016.9.3初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1339 这次真爽,拿了个第四!(我还被班主任叫过去1小时呢!) 进 ...

  9. 2016.8.19上午初中部NOIP普及组比赛总结

    2016.8.19上午初中部NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1338 这次总结发得有点晚啊!我在这里解释一下, 因为浏览器的问 ...

随机推荐

  1. Git官方推荐用书

    用Git看了N多的Blog, 乱七八糟. 官方的推荐用书写得最好,最权威.还可以下载pdf.记录一笔. https://git-scm.com/book/zh/v2/

  2. idea -> Error during artifact deployment. See server log for details.

    用idea导入eclipse工程,运行时,报Error during artifact deployment. See server log for details. 谷歌,最后发现是最新  tomc ...

  3. MySQL——安装、配置、启动服务、

    1.环境变量配置 将启动连接,加入环境变量中. mysqld  :启动服务端 msysql -u 用户名 -p 密码 : 启动客户端 2.windows服务:一直在运行中 E:\wupeiqi\mys ...

  4. git指令详解总结

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  5. 学习 Spring (十六) AOP API

    Spring入门篇 学习笔记 Spring AOP API 是 Spring 1.2 历史用法,现在仍然支持 这是 Spring AOP 基础,现在的用法也是基于历史的,只是更简便了 Pointcut ...

  6. 前端动态属性页面的 要用id做name 因为这样方便在提交表单时候取到值

    前端动态属性页面的 要用id做name 因为这样方便在提交表单时候取到值

  7. 使用RestTemplate测试视频上传的Post请求

    以往多用RestTemplate处理接口的调用以及与Ribbon/Feign配合使用调用微服务接口,近日写了一个处理Post文件上传的解决方案,其实就是将后台所需的MultipartFile,在请求P ...

  8. BZOJ3812 主旋律(状压dp+容斥原理)

    设f[S]为S点集是SCC的方案数.考虑通过去掉不合法方案转移.可以枚举入度为0的SCC所含点集S',这样显然S^S'内部的边和由S'连向S^S'的边删还是不删任选.但是这样无法保证S'包含所有入度为 ...

  9. kubernetes(一)

      •Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什 ...

  10. 一个有关FWT&FMT的东西

    这篇文章在讲什么 相信大家都会FWT和FMT. 如果你不会,推荐你去看一下VFK的2015国家集训队论文. 设全集为\(U=\{1,2,\ldots,n\}\),假设我们关心的\(f_S\)中的集合\ ...