洛谷P1076 寻宝
寻宝
模拟加优化,细节比较重要。
我们用ti[i]表示i这一层有楼梯的个数,然后我们把当前1号点的数据mod上ti[i],然后使该数不能等于0,就行了。
#include <bits/stdc++.h>
#define int long long
const int mod = 20123;
using namespace std;
int n, m, start, ans, ti[10010];
int up[10010][101], data[10010][101];
signed main()
{
scanf("%lld%lld", &n, &m);
for (int i = 1; i <= n; i++)
for (int j = 0; j < m; j++)
{
scanf("%lld%lld", &up[i][j], &data[i][j]);
if (up[i][j] == 1) ti[i]++;
}
scanf("%lld", &start);
int j = start;// 一开始在第一层, start的位置。
for (int i = 1; i <= n; i++)
{
int dat = data[i][j];
ans = dat + ans % mod;//找到了每一层的开始
//枚举j
int k = up[i][j];
int now;
now = (dat - 1) % ti[i] + 1;// 这里的减一再加一是为了防止now出现0。而出现now的情况一般是dat是ti[i]的倍数 ,这时候now应该返回的是ti[i]而不是0
while (k < now)
{
j++;
if (j == m) j = 0;
if (up[i][j]) k++;
}
}
printf("%lld", ans % mod);
return 0;
}
洛谷P1076 寻宝的更多相关文章
- 洛谷 P1076 寻宝 解题报告
P1076 寻宝 题目描述 传说很遥远的藏宝楼顶层藏着诱人的宝藏.小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书.说明书的内容如下: 藏宝楼共有\( ...
- 洛谷 P1076 寻宝(模拟 && 剪枝)
嗯... 题目链接:https://www.luogu.org/problem/P1076 这道题的题意首先太难理解...并且细节太多... 可以用b[i][j]记录每个指示牌上的数字,a[i][j] ...
- 洛谷 P1076 寻宝 题解
今天又TM考试了...... 这是T1,然后我模拟20分滚粗. Analysis 在每层的时候用编号%这层可以上楼的房间个数就行了. #include<iostream> #include ...
- 洛谷P4424 寻宝游戏 [HNOI/AHOI2018]
正解:思维题 解题报告: 传送门! 这题就是很思维题,,,想到辣实现麻油特别难,但难想到是真的TT 这题主要是要发现一个性质:&1无意义,&0相当于赋值为0,|1无意义,|1相当于赋值 ...
- BZOJ5285 & 洛谷4424 & UOJ384:[HNOI/AHOI2018]寻宝游戏——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5285 https://www.luogu.org/problemnew/show/P4424 ht ...
- 【洛谷4424】[HNOI_AHOI2018]寻宝游戏(我也不知道括号里该写啥)
题目 洛谷 4424 分析 感觉思路比较神仙. 对于按位与和按位或两种运算,显然每一位是独立的,可以分开考虑. 对于某一位,「与 \(0\)」会将这一位变成 \(0\),「或 \(1\)」会将这一位变 ...
- 【洛谷2403】[SDOI2010] 所驼门王的宝藏(Tarjan+dfs遍历)
点此看题面 大致题意: 一个由\(R*C\)间矩形宫室组成的宫殿中的\(N\)间宫室里埋藏着宝藏.由一间宫室到达另一间宫室只能通过传送门,且只有埋有宝藏的宫室才有传送门.传送门分为3种,分别可以到达同 ...
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
- 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.
没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...
随机推荐
- redis 中文显示的问题解决方法
在redis 中存储中文,读取会出现乱码(其实不是乱码,只是不是我们存的中文显示) 1 redis> set test "我们" 2 OK 3 redis> get t ...
- 学习笔记之DBeaver
DBeaver Community | Free Universal Database Tool https://dbeaver.io/ Universal Database Tool Free mu ...
- 修复使用sub和sup时的行间距问题
sub和sup元素会轻微地增大行高. 幸好,用一点CSS就可以修复这个问题. 来自Nicolas Gallagher和Jonathan Neal的normalize.css(http://necola ...
- MySQL 统计上一周从周一到周日的用户
这个功能按理说很常见,奇怪的是很难搜索到一个合适的.稍微整理了下,具体的就不展开了,注意这个表中的时间为毫秒,这条语句拷贝复制就能用.照顾大部分的无脑码农. SELECT case when FROM ...
- Implement CGLIB in ABAP
What is cglib?A Byte Code Generation Library which is high level API to generate and transform Java ...
- windows安装redis服务
下载地址: https://github.com/microsoftarchive/redis/releases 解压. git执行:
- MySQL Percona Toolkit--pt-osc学习
工作流程 1.检查更改表是否有主键或唯一索引,是否有触发器 2.检查修改表的表结构,创建一个临时表,在新表上执行ALTER TABLE语句 3.在源表上创建三个触发器分别对于INSERT UPDATE ...
- 【Iterm2】item2 ssh保持连接
profiles -> sessions -> 勾选 When idel, send ASCII code就可以了
- 记一次至今懵逼的bug
<update id="falseDeleteBatchByPKArr" parameterType="java.lang.String"> U ...
- Linux操作系统的计划任务
Linux操作系统的计划任务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.任务计划概述 Linux任务计划.周期性任务执行 未来的某时间点执行一次任务: at: 指定时间点, ...