社区讨论
求助(违规紫衫
灌水区参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m45c4wdp
- 此快照首次捕获于
- 2024/12/01 16:24 去年
- 此快照最后确认于
- 2025/11/04 13:30 4 个月前
https://www.luogu.com.cn/problem/P1076 这道题我们老师教了,但没听懂,求大佬解释代码
CPP#include<bits/stdc++.h>//思路:模拟从第 1 层走到第 n+1 层的整个过程,每次找出从当前房间开始第 x个有梯子的房间即可
using namespace std;
int n, m, k,ans;
int b[10010][110],x[10010][110];
int main() {
cin>>n>>m;
for (int i = 0; i < n; i ++ )
for (int j = 0; j < m; j ++ )
cin>>b[i][j]>>x[i][j];
//纯纯输入二维数组
cin>>k;;
for (int i = 0; i < n; i ++ ) {
int sum = 0;//这层楼共几个楼梯
for (int j = 0; j < m; j ++ )
sum += b[i][j];
int t = x[i][k];
ans = (ans + t) % 20123;//取模
t %= sum;
if(!t)
t=sum;
for (int j=k;;j=(j+1)%m) {
if (b[i][j]) {
if (--t == 0) {
k = j;//存储上一层的第几个房间编号
break;
}
}
}
}
cout<<ans;
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...