#include<iostream>
using namespace std;
int floor[10005][105];
int notice[10005][105];
int sum=0,n,m;
int find(int room,int finding_floor){
int noti=notice[finding_floor][room];
sum=(sum+noti)%20123;
for(int i=1;i<=noti;i++){
room=floor[finding_floor][room];
}
cout<<sum;
if(finding_floor==n){
return sum;
}
else return find(room,finding_floor+1);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
int now_floor=-1;
for(int j=0;j<m;j++){
int q;
cin>>q;
cin>>notice[i][j];
floor[i][j]=now_floor;
if(q==1)now_floor=j;
}
int j=0;
while(floor[i][j]==-1){
floor[i][j]=now_floor;
j++;
}
}
int p;
cin>>p;
cout<<find(p,1);
return 0;
}
如上,用递归没有搞对,全数WA/TLE,求问算法错在哪里