#29984: 求解


nelson940703@gmail.com (李宸聿)

學校 : 不指定學校
編號 : 155922
來源 : [124.219.109.50]
最後登入時間 :
2022-06-13 10:32:41
c297. APCS-2016-1029-4棒球遊戲 -- 2016年10月APCS | From: [124.219.109.50] | 發表日期 : 2022-04-18 11:43

#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;

 

 

 

 

}

小弟學疏才淺,求解

 
#29986: Re:求解


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
c297. APCS-2016-1029-4棒球遊戲 -- 2016年10月APCS | From: [110.26.168.226] | 發表日期 : 2022-04-18 15:22

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

 
ZeroJudge Forum