#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main() {
int a[10][5],bas,x;
string base;
for(int i=0;i<8;i++){
cin>>x;
for(int j=0;j<x;j++){
cin>>base;
if(base=="1B") bas=1;
if(base=="2B") bas=2;
if(base=="3B") bas=3;
if(base=="HR") bas=4;
if(base=="SO") bas=01;
if(base=="FO") bas=02;
if(base=="GO") bas=03;
a[i][j]=bas;
}
}
int b; cin>>b;
int i,j,score,out,F[5]={};
for(int n=0;n<1000;n++){
if(out==b)
break;
i=n%9;
j=n/9;
if(a[i][j]==1){
if(F[2]==1) score++,F[2]=0;
if(F[1]==1) F[1]=0,F[2]=1;
if(F[0]==1) F[1]=1;
F[0]=1;
}
if(a[i][j]==2){
if(F[2]==1) score++,F[2]=0;
if(F[1]==1) score++,F[1]=0;
if(F[0]==1) F[0]=0,F[2]=1;
F[1]=1;
}
if(a[i][j]==3){
if(F[2]==1) score++,F[2]=0;
if(F[1]==1) score++,F[1]=0;
if(F[0]==1) score++,F[0]=0;
F[2]=1;
}
if(a[i][j]==4){
if(F[2]==1) score++,F[2]=0;
if(F[1]==1) score++,F[1]=0;
if(F[0]==1) score++,F[0]=0;
score++;
}
if(a[i][j]==(01||02||03)){
out++;
if(a[i][j]==03)
F[0]=0,F[1]=0,F[2]=0;
}
}
cout<<score;
}
小弟學疏才淺,求解
1.
for(int i=0;i<8;i++){
2.
if(base=="SO") bas=01;
if(base=="FO") bas=02;
if(base=="GO") bas=03;
3.int i,j,score,out,F[5]={};
4.
if(a[i][j]==(01||02||03)){
5.
if(a[i][j]==03)
小弟學疏才淺,求解
1. 題目看清楚,有九個人
2. 這是int,01跟1,02跟2,03跟3是一樣的東西,因為這三種出局都是一樣的,你可以都改成相同的數字,後面4.比較容易
3. score和out沒有初始化
4. or不是這樣寫的...這樣會變成if(a[i][j]==1)
5. 這裡應該是檢查out是否整除3