模拟算法求挑错
查看原帖
模拟算法求挑错
464329
CCCPball楼主2024/5/8 17:41
#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,求问算法错在哪里

2024/5/8 17:41
加载中...