0分求调!
查看原帖
0分求调!
1033544
pjr_freopen楼主2024/7/2 22:45

小样例过了。

#include<iostream>
#include<algorithm>
using namespace std;
struct node{
	int bo;
	int x;
}a[10005][105];
int b[10005];
inline int in(){
	int x=1,y=0;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-')x=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		y=y*10+ch-'0';
		ch=getchar();
	}
	return x*y;
}
inline void out(int n){
	if(n<0)putchar('-'),n*=-1;
	if(n>9)out(n/10);
	putchar (n%10+'0');
}
int main(){
	int n=in(),m=in();
	for(int i=1;i<=n;++i){
		for(int j=0;j<m;++j){
			a[i][j].bo=in();
			a[i][j].x=in();
		}
	}
	int h=in();
	int ans=0;
	for(int i=1;i<=n;++i){
		int cnt=0,sum=0;
		ans=(ans+a[i][h].x)%20123;
		if(a[i][h].bo==1)continue;
		for(int j=0;j<m;++j){
			if(a[i][j].bo==1)++sum;
		}
		int hh=a[i][h].x;
		hh%=sum;
//		printf("%d ",hh);
		for(int j=h;;j=(j+1)%m){
			if(a[i][j].bo==1)++cnt;
			if(cnt>=hh){
				h=j;
				break;
			}
		}
	}
	out(ans%20123);
	return 0;
}

2024/7/2 22:45
加载中...