50分WA/AC求助
查看原帖
50分WA/AC求助
1260978
13548940890xyc楼主2024/9/17 14:49

代码如下:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct jz{
	int ma=0;
	int c[105];
	int dj=0;
	int d;
	int r=-1;
}a[105];
ll s[2];
int w=-1;
int wz[2]={1,1};
int n, m, q, l;
void ko(){
	if(s[w]<0){
		if(w)
			cout<<"Merry";
		else
			cout<<"Renko";
		exit(0);
	}
}
void go(int k){
	for(int i=1;i<=k;i++){
		wz[w]=wz[w]%10+1;
		if(a[wz[w]].r==w)
			s[w]+=a[wz[w]].ma;
		else if(a[wz[w]].r==!w){
			s[!w]+=a[wz[w]].ma;
			s[w]-=a[wz[w]].ma;
			ko();
		}
	}
}
void jm(){
	for(int i=1;i<=n;i++)
		if(a[i].r!=-1)
			s[a[i].r]+=a[i].d;
}
void sj(int k){
	if(a[wz[w]].r==!w)
		return;
	jz &x=a[wz[w]];
	x.r=w;
	for(int i=0;x.dj<l && i<k;i++){
		if(s[w]>=x.c[x.dj]){
			s[w]-=x.c[x.dj];
			x.ma+=x.c[x.dj];
			x.dj++;
		}
		else{
			break;
		}
	}
}
int main(){
	cin>>n>>m>>q>>l;
	s[0]=s[1]=m;
	for(int i=1;i<=n;i++)
		for(int j=0;j<l;j++)
			cin>>a[i].c[j];
	for(int i=1;i<=n;i++)
		cin>>a[i].d;
	int op, k;
	while(cin>>op>>k){
		if(op==1){
			w++;
			if(w==2){
				w=0;
				go(k);
				jm();
			}
			else
				go(k);
		}
		else{
			sj(k);
		}
	}
	jm();
	ko();
	cout<<s[0]<<' '<<s[1];
	return 0;
}
2024/9/17 14:49
加载中...