30pts 蒟蒻求助
查看原帖
30pts 蒟蒻求助
546936
Ming_Yu楼主2022/10/28 10:58
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=20123;
int n,m,ans;
int louti[10086][110],pai[10086][110];

int num_louti[10086];
signed main()
{
//	freopen("P1076_1.in","r",stdin);
//	freopen("114514.out","w",stdout);

	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m;
//	cout<<n<<" "<<m<<endl;
	for(int i=1; i<=n; i++)
		for(int j=0; j<m; j++)
		{
			cin>>louti[i][j]>>pai[i][j];
			if(louti[i][j])num_louti[i]++;
		}
//	for(int i=1; i<=n; i++)
//		for(int j=0; j<m; j++)
//			cout<<louti[i][j]<<" "<<pai[i][j]<<endl;

	int start;
	cin>>start;
//	cout<<start;
	ans=pai[1][start]%mod;
	int cen=1,cnt_lt=0,fangjian=start,paizi=((pai[1][start]-1)%num_louti[start]+1);
	while(1)
	{
		cout<<cen<<" "<<fangjian<<endl;
		if(louti[cen][fangjian])   //如果当前房间有楼梯
			cnt_lt++;
		if(cnt_lt==paizi)   //如果可以上楼
		{
//			cout<<cen<<endl;
//			cout<<ans<<endl;
			cen++;
			ans=(ans+pai[cen][fangjian])%mod;//
			if(cen>n)break;
			cnt_lt=0;
			paizi=((pai[cen][fangjian]-1)%num_louti[cen]+1);
			continue;
		}
		fangjian++;
		fangjian%=m;
//		if(fangjian==m)fangjian=0;
	}

	cout<<ans;
	return 0;
}
2022/10/28 10:58
加载中...