# h035 夜市 ## [題目連結](https://drive.google.com/open?id=1IPca4ftc7jrqllxXDpJDT2uOTWncqvKn) ## 解題想法 * 用數字區別格子狀態(未命中、倒下、倒下後又升起)。 * 若達成全清,直接結束並輸出。 * 總分於最後以格子狀態計算。 ## 遭遇到的困難 * 使格子升起和投球之間順序相反。 * 未讀懂題意誤解總分計算方式。 ## 程式碼 ```cpp=01 #include<stdio.h> int main(){ int hit[9],i,j,n,ful=0; scanf("%d",&n); for(i=0;i<9;i++)hit[i]=0; int score[300],ans=0; for(i=0;i<n;i++)scanf("%d",&score[i]); for(i=0;i<n;i++){ if(score[i]>0&&score[i]<10&&hit[score[i]-1]!=1){ hit[score[i]-1]=1; if(i>=8){ ful=1; for(j=0;j<9;j++){ if(hit[j]!=1){ ful=0; break; } } } if(ful==1)break; } if(i>=11)hit[score[i-11]-1]=2; } for(i=0;i<9;i++){ if(hit[i]!=0)ans+=i+1; } if(ful==1)printf("perfect"); else printf("%d",ans); return 0; }
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up