10pts qwq
查看原帖
10pts qwq
917025
XYzero楼主2023/9/22 19:10
#include<bits/stdc++.h>
using namespace std;
#define int long long
struct house{
	int tot,money,d;
}a[105];
int n,mn,q,l;
string name[2] = {"Renko","Merry"};
int c[105][105],d[105],wz[2],m[2];
void jia(){
	for(int i = 1;i <= n;i++){
		if(a[i].tot != -1){
			m[a[i].tot] += a[i].money;
		}
	}
}
signed main(){
	cin >> n >> mn >> q >> l;
	for(int i = 1;i <= n;i++){
		for(int j = 0;j < l;j++){
			cin >> c[i][j];
		}
	}
	wz[0] = wz[1] = 1;
	m[0] = m[1] = mn;
	for(int i = 1;i <= n;i++){
		cin >> d[i];
		a[i].tot = -1;
		a[i].d = -1;
	}
	int op,step,tmp = 1,num = 0;
	while(cin >> op >> step){
		if(op == 1){
			num ++;
			if(num % 2 == 0)
		{
			jia();
		}		
			tmp ^= 1;
			for(int i = 1;i <= step;i++){
				wz[tmp] = (wz[tmp] + 1) % n;
				if(a[wz[tmp]].tot != -1){
				if(a[wz[tmp]].tot == tmp){
					m[tmp] += a[wz[tmp]].money;
				}
				else{
					m[tmp] -= a[wz[tmp]].money;
					if(m[tmp] <= 0){
						cout << name[tmp];
						return 0;
					}
					m[tmp ^ 1] += a[wz[tmp]].money;
				}
			}
			}
		}
		else{
			if(a[wz[tmp]].tot == -1 || a[wz[tmp]].tot == tmp){
			
					a[wz[tmp]].tot = tmp;
					for(int i = 1;i <= step;i++){
					if(a[wz[tmp]].d + 1 > l - 1){
						break;
					}
					if(m[wz[tmp]] >= c[wz[tmp]][a[wz[tmp]].d + 1]){
						a[wz[tmp]].d ++;
						a[wz[tmp]].money += c[wz[tmp]][a[wz[tmp]].d];
					}
					else{
						break;
					}
				}
			}
		}
	}
	jia();
	
	cout << m[0] << " " << m[1]; 
	return 0;
}

2023/9/22 19:10
加载中...