【题解】P1076 寻宝
题面
前言
直接模拟,题干怎么描述,我们就怎么做!
正文
实现过程可以参考代码!
警示后人:
- 每层楼的房间可以抽象成一个环,而并非链
- 鉴于 $ [0,M-1] $ 的下标范围有些令人作呕,考虑下标 $ +1 $ 捏!
- 取模!取模!取模!每一步都要取模!
代码
#include<iostream>
using namespace std;
const int maxn=1e4+10,maxm=100+10,mod=20123;
int n,m,a[maxn][maxm],num[maxn][maxm],key,loc;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j]>>num[i][j];
if(a[i][j]){
a[i][0]++;
}
}
}
cin>>loc;
loc++;
for(int i=1;i<=n;i++){
key+=num[i][loc];
key%=mod;
int x=(num[i][loc])%a[i][0]+a[i][0];
loc--;
while(x>0){
loc++;
if(loc>m){
loc=1;
}
if(a[i][loc]){
x--;
}
}
}
cout<<key%mod<<endl;
return 0;
}
后记
猜一下这次云落是不是贴的 AC 代码捏?

浙公网安备 33010602011771号