求大佬帮忙看看哪里有问题
查看原帖
求大佬帮忙看看哪里有问题
728741
ayst0001楼主2024/6/3 22:09
#include<bits/stdc++.h>
using namespace std;
long long n,m,st,ans;
struct A{
	long long sight;
	bool up;
}a[10010][110];
long long num[10010];//每层里有楼梯的房间的数量  
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j].up>>a[i][j].sight;
			if(a[i][j].up==1) num[i]++;
		}
	}
//	for(int i=1;i<=n;i++) cout<<num[i]<<" ";
	cin>>st;
	long long k=a[1][st+1].sight;
	ans+=a[1][st+1].sight;
	if(k!=num[1]) k=(a[1][st+1].sight)%(num[1]);
	long long j=st+1;
	while(k!=0){
		if(a[1][j].up==1) k--;
		if(k==0) break;
		j++;
		if(j>m) j=1;
	} 
	for(int i=2;i<=n;i++){
		ans+=a[i][j].sight;
		k=a[i][j].sight;
		if(k!=num[i]) k=(a[i][j].sight)%(num[i]);
		while(k!=0){
			if(a[i][j].up==1) k--;
			if(k==0) break;
			j++;
			if(j>m) j=1;
		}
	}
	cout<<ans%20123;
	
	return 0;
}
2024/6/3 22:09
加载中...