洛谷 P1076 寻宝 题解
2024-08-27 03:18:49
今天又TM考试了......
这是T1,然后我模拟20分滚粗。
Analysis
在每层的时候用编号%这层可以上楼的房间个数就行了。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define mod 20123
#define maxn 10010
#define maxm 110
using namespace std;
inline int read()
{
int x=;
bool f=;
char c=getchar();
for(; !isdigit(c); c=getchar()) if(c=='-') f=;
for(; isdigit(c); c=getchar()) x=(x<<)+(x<<)+c-'';
if(f) return x;
return -x;
}
inline void write(int x)
{
if(x<){putchar('-');x=-x;}
if(x>)write(x/);
putchar(x%+'');
}
int n,m,st,ans;
int map[maxn][maxm],map_s[maxn][maxm],num[maxn];
int main()
{
// freopen("treasure.in","r",stdin);
// freopen("treasure.out","w",stdout);
n=read();m=read();
int cnt=,c=;
for(int i=;i<=n*m;i++)
{
int x,y; x=read();y=read();
map_s[c][cnt]=x;
if(x==)num[c]++;
map[c][cnt]=y;
if(cnt==m-)
{
cnt=;
c++;
}
else cnt++;
}
st=read();
for(int i=;i<=n;i++)
{
if(map_s[i][st]==)
{
int xb=map[i][st];
xb%=num[i];
if(xb==)xb+=num[i];
ans+=map[i][st];
ans%=mod;
while(xb>)
{
if(st==m-)st=;
else st++;
if(map_s[i][st]==)xb--;
}
}
else if(map_s[i][st]==)
{
int xb=map[i][st]-;
xb%=num[i];
if(xb==)xb+=num[i];
ans+=map[i][st];
ans%=mod;
while(xb>)
{
if(st==m-)st=;
else st++;
if(map_s[i][st]==)xb--;
}
}
}
write(ans);
return ;
}
请各位大佬斧正(反正我不认识斧正是什么意思)
最新文章
- zabbix_agentd.conf文件说明
- mac下CornerstoneSVN出错 Description : The working copy is locked due to a previous error
- 项目使用中Linq使用总结
- 内存中OLTP(Hekaton)里的事务日志记录
- [原创]java WEB学习笔记54:Struts2学习之路---概述,环境的搭建
- POJ 2482 Stars in Your Window (线段树+扫描线+区间最值,思路太妙了)
- Solr中schema.xml的解释
- 从零开始部署小型企业级虚拟桌面 -- Vmware Horizon View 6 For Linux VDI -- 概念简介
- 转: 谈JAVA_OPTS环境变量不起作用
- 《.NET 设计规范》第 8 章:使用规范
- 【读书笔记】iOS-设置应用的硬件需求
- 2018-2019-2 网络对抗技术 20165320 Exp4 恶意代码分析
- 21.struts-Action配置.md
- 启动64位 IIS 32位应用程序的支持
- 关于Visual studio 2017安装方法的若干问题
- jquery分页例子
- sicily 1009. Mersenne Composite N
- ffmpeg与TS
- 前端自动化之npm
- #单元测试#以karma+mocha+chai 为测试框架的Vue webpack项目(二)