1 条题解
-
-12
#include<bits/stdc++.h> using namespace std; int n,m,t,c[10005],sum,step,cnt; //t:进入房间;c数组统计有房间个数。 struct node{ bool f; int x; }; node a[10005][105]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=0;j<m;j++){ cin>>a[i][j].f>>a[i][j].x;//存入数组 if(a[i][j].f==1) c[i]++ ; } } cin>>t; for(int i=1;i<=n;i++)//循环n次。 { sum=(sum+a[i][t].x)%20123; step=a[i][t].x%c[i];//环形模拟 ,走的步数 if(step==0) step=c[i]; if(a[i][t].f==1) cnt=1;//出发房间有楼梯 else cnt=0;//无楼梯 while(cnt<step)//假如没有走到,就循环。 { t=(t+1)%m;//形成环形 if(a[i][t].f==1) cnt++; } //一直到step到下一层要的房间 } cout<<sum; return 0; }
信息
- ID
- 198
- 时间
- 2000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者