15分求助
查看原帖
15分求助
1060672
wei2013楼主2023/12/30 07:59
#include <bits/stdc++.h>
using namespace std;
long long n,m,q,l,op,k,t=1,cnt=1,l$,m$,lxy=1,mxy=1;
struct node{
	int c[105],d,who,L,a;
}house[105];
void add(){
	for(int i=1;i<=n;i++){
		if(house[i].who==1){
			l$+=house[i].d;
		}else if(house[i].who==2){
			m$+=house[i].d;
		}
	}
}
int main(){
	cin>>n>>m>>q>>l;
	l$=m,m$=m;
	for(int i=1;i<=n;i++){
		for(int j=0;j<l;j++){
			cin>>house[i].c[j];
		}
	}
	for(int i=1;i<=n;i++){
		cin>>house[i].d;
	}
	while(cin>>op>>k){
		if(op==1){
			if(cnt==2){
				add();
				cnt=1;
			}
			if(t==1){
				for(int i=1;i<=k;i++){
					lxy++;
					if(house[lxy].who==2){
						l$-=house[lxy].a;
						m$+=house[lxy].a;
						if(l$<0){
							cout<<"Renko";
							return 0;
						}
					}else if(house[lxy].who==1){
						l$+=house[lxy].a;
					}
					if(lxy==n){
						lxy=1;
					}
				}
			}else{
				for(int i=1;i<=k;i++){
					mxy++;
					if(house[mxy].who==1){
						m$-=house[mxy].a;
						l$+=house[mxy].a;
						if(m$<0){
							cout<<"Merry";
							return 0;
						}
					}else if(house[mxy].who==2){
						m$+=house[mxy].a;
					}
					if(mxy==n){
						mxy=1;
					}
				}
			}
		t=!t;
		cnt++;
		}else{
			if(t==1){
				if(house[lxy].who==2){
					continue;
				}else{
					for(int i=1;i<=k;i++){
						if(house[lxy].who==0){
							if(l$>=house[lxy].c[0]){
								l$-=house[lxy].c[0];
								house[lxy].who=1;
								house[lxy].L=1;
								house[lxy].a=house[lxy].c[0];
							}else{
								break;
							}
						}else{
							if(house[lxy].L>=l){
							    break;
							}
							if(l$>=house[lxy].c[house[lxy].L]){
								l$-=house[lxy].c[house[lxy].L];
								house[lxy].a+=house[lxy].c[house[lxy].L];
								house[lxy].L++;
							}else{
								break;
							}	
						}
					}
				}
			}else{
				if(house[mxy].who==1){
					continue;
				}else{
					for(int i=1;i<=k;i++){
						if(house[mxy].who==0){
							if(m$>=house[mxy].c[0]){
								m$-=house[mxy].c[0];
								house[mxy].who=2;
								house[mxy].L=1;
								house[mxy].a=house[mxy].c[0];
							}else{
								break;
							}
						}else{
							if(house[mxy].L>=l){
								break;
							}
							if(m$>=house[mxy].c[house[mxy].L]){
								m$-=house[mxy].c[house[mxy].L];
								house[mxy].a+=house[mxy].c[house[mxy].L];
								house[mxy].L++;
							}else{
								break;
							}
						}
					}
				}
			}
		}
	}
	add();
	cout<<l$<<" "<<m$;
	return 0;
}
2023/12/30 07:59
加载中...