70球条
查看原帖
70球条
551788
Miyamizu_Mitsuha楼主2023/9/24 18:55
#include <bits/stdc++.h>
using namespace std;
int n,m,sx,sy;
int nowx,nowy;
char mapp[105][105];
int mhp,mst,mde;
int blood=0;
int pst,pde;
int q;
void move(int d)
{
  if(d==1)nowy--;
  if(d==2)nowy++;
  if(d==3)nowx--;
  if(d==4)nowx++;
}
void getlife()
{
  if(blood>=10)blood-=10;
  else blood=0;
}
void att()
{
  double mmhp=mhp,ppst=pst,mmde=mde,k=1;
  int qw=floor(mmhp/(max(k,ppst-mmde)));
  blood+=max(1,qw*max(1,mst-pde));
}
void work()
{
  if(mapp[nowx][nowy]=='R')getlife();
  if(mapp[nowx][nowy]=='Q')pst+=5;
  if(mapp[nowx][nowy]=='Y')pde+=5;
  if(mapp[nowx][nowy]=='M')att();
}
int main(){
  int n,m;
  cin>>n>>m;
  for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
      cin>>mapp[i][j];
  cin>>mhp>>mst>>mde;
  cin>>sx>>sy;
  nowx=sx,nowy=sy;
  cin>>pst>>pde;
  cin>>q;
  while(q--)
  {
    int op;
    cin>>op;
    if(op==1)cout<<blood<<' '<<pst<<' '<<pde<<endl;
    else{
      int d;
      cin>>d;
      move(d);
      work();
    }
  }
    
  
return 0;
}

2023/9/24 18:55
加载中...