求助各位dalao 40pts rp++++++++++
查看原帖
求助各位dalao 40pts rp++++++++++
674793
luoguhandongheng楼主2023/7/11 12:02
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod=20123;
int n,m,a[10005][105];
vector <int> s[10005],p[10005];
signed main(){
	cin>>n>>m;
	int last;
	for(int i=1;i<=n;++i){
		for(int j=0;j<m;++j){
			bool x;
			cin>>x>>a[i][j];
			if(x){
				s[i].push_back(j);
				p[i].push_back(j);
			}		
		}
		int l=s[i].size();
		for(int j=0;j<l;++j)
			p[i].push_back(s[i][j]);
	}
	cin>>last;
	int ans=0;
	for(int i=1;i<=n;++i){
	//	cout<<last<<' '<<a[i][last]<<' ';
		ans+=a[i][last];ans%=mod;
		int find=a[i][last]%s[i].size();
		int pos=lower_bound(s[i].begin(),s[i].end(),last)-s[i].begin();
	//	cout<<pos<<' '<<find<<' '<<p[i][pos]<<endl;
		last=p[i][pos+find-1];
	}
	cout<<ans; 
	   return 0;
}

2023/7/11 12:02
加载中...