调了半天没看出哪里有问题
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,m;
int begin,sum=0;
int Trea[10001][101];
int num[10001][101];
int k;
int find(int i,int begin){
if(i==n+1) return sum;
int cnt=0;
sum+=num[i][begin];
sum%=20123;
int l;
for(l=begin;;l++){
l%=m;
if(Trea[i][l]) cnt++;
if((num[i][begin]-1)%Trea[i][m]+1==cnt){
break;
}
}
begin==l;
find(i+1,begin);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
int y=0;
for(int j=0;j<m;j++){
cin>>Trea[i][j]>>num[i][j];
if(Trea[i][j]==1) y++;
}
Trea[i][m]=y;
}
cin>>begin;
int i=1;
find(i,begin);
cout<<sum;
return 0;
}
有妹有dalao愿意帮忙康康orzorzorz