70pts 求调
查看原帖
70pts 求调
941575
Stars_visitor_tyw楼主2024/7/13 09:29

先拿小模拟练手再写大模拟结果小模拟挂了/cf

#include<bits/stdc++.h>
using namespace std;
char a[105][105];
int hp, st, de, hp0, st0, de0, q, n, m, x, y, op, d;
int dx[5]={0,0,0,-1,1};
int dy[5]={0,-1,1,0,0};
signed main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>hp0>>st0>>de0;
	cin>>x>>y;
	cin>>st>>de;
	cin>>q;
	while(q--)
	{
		cin>>op;
		if(op==1)
		{
			cout<<hp<<" "<<st<<" "<<de<<"\n";
		} 
		else
		{
			cin>>d;
			x+=dx[d];
			y+=dy[d];
			if(a[x][y]=='R')
			{
				hp=max(hp-10,0);
			}
			if(a[x][y]=='Q')
			{
				st+=5;
			}
			if(a[x][y]=='Y')
			{
				de+=5;
			}
			if(a[x][y]=='M')
			{
				int tmp=ceil(hp*1.0/(max(1,st-de0)*1.0));
				hp+=max(1,tmp*max(1,st0-de));
			}
		}
	}
}
2024/7/13 09:29
加载中...