2021-10-21更新
#include <bits/stdc++.h>
using namespace std;
int base[4]={};
int basemove(int a){
int score=0;
for(int i=3;i>=0;i--){
if(base[i]&&i+a>=4){
score++;
base[i]=0;
}else if(base[i]){
base[i+a]=1;
base[i]=0;
}
}
return score;
}
void reset(){
for(int i=0;i<4;i++) base[i]=0;
}
int main()
{
string record[9][5],state;
int temp,now_play,score=0,total_out;
for(int i=0;i<9;i++){
cin>>temp;
for(int j=0;j<temp;j++){
cin>>record[i][j];
}
}
cin>>total_out;
int out=0;
for(int i=0;i<5;i++){
for(int j=0;j<9;j++){
state=record[j][i];
cout<<state<<", ";
if(state[1]=='B'){
int num=state[0]-48;
basemove(num);
}
if(state=="HR") basemove(4);
if(state[1]=='O') out++;
if(out==3){
reset();
out=0;
}
}
}
cout<<score<<endl;
return 0;
}
未完成