也取模了,时间复杂度 O(nm),最多 106,怎么TLE的?
#include<bits/stdc++.h>
using namespace std;
int n,m;
bool door[10002][102];
int x[10002][102],sum[10002];
int num,z;
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
for(int j=0;j<m;j++){
scanf("%d%d",&door[i][j],&x[i][j]);
sum[i]+=door[i][j];
}
}
scanf("%d",&num);
for(int i=1;i<n;i++){
int s=(x[i][num])-1%sum[i]+1;
z=(z+x[i][num])%20123;
while(1){
s-=door[i][num];
if(!s){
break;
}
num=(num+1)%m;
}
}
z+=x[n][num];
printf("%d",z%20123);
return 0;
}