0pts求助(样例已过)
查看原帖
0pts求助(样例已过)
681558
Weizhuo_Zhao楼主2024/9/16 14:57
#include<bits/stdc++.h>
#define MAX_N 10005
#define MAX_M 105
using namespace std;
int n,m,a[MAX_N][MAX_M],door[MAX_N];
bool b[MAX_N][MAX_M];
int f(int floor,int room){
	if(floor==n+1)
		return a[floor-1][room]%20123;
	int num=0,i;
	for(i=room;;i++){
		if(i==m+1)
			i=1;
		num+=b[floor][i];
		if(num==a[floor][room]%door[floor]+1)
			break;
	}
	return (f(floor+1,i)%20123+a[floor][room]%20123)%20123;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++){
			cin>>b[i][j]>>a[i][j];
			door[i]+=b[i][j];
		}
	int start;
	cin>>start;
	cout<<f(1,start);
	return 0;
} 
2024/9/16 14:57
加载中...