#16849: 求大神幫忙 誇樓某


player963852@gmail.com (謝立愷)

學校 : 不指定學校
編號 : 79656
來源 : []
最後登入時間 :
2018-05-09 23:48:42
c297. APCS-2016-1029-4棒球遊戲 -- 2016年10月APCS | From: [123.192.38.45] | 發表日期 : 2019-02-13 21:29

#include<iostream>
#include<vector>
#include<string>
using namespace std;

int main(){
int T[9];
while(cin>>T[0]){
int O;
vector<int> P[9];
for(int n=0;n<T[0];++n){
string s;
cin>>s;
if(s=="1B"){
P[0].push_back(1);
}else if(s=="2B"){
P[0].push_back(2);
}else if(s=="3B"){
P[0].push_back(3);
}else if(s=="HR"){
P[0].push_back(4);
}else if(s=="FO"){
P[0].push_back(-1);
}else if(s=="GO"){
P[0].push_back(-1);
}else if(s=="SO"){
P[0].push_back(-1);
}
}
for(int t=1;t<9;++t){
cin>>T[t];
for(int n=0;n<T[t];++n){
string s;
cin>>s;
if(s=="1B"){
P[t].push_back(1);
}else if(s=="2B"){
P[t].push_back(2);
}else if(s=="3B"){
P[t].push_back(3);
}else if(s=="HR"){
P[t].push_back(4);
}else if(s=="FO"){
P[t].push_back(-1);
}else if(s=="GO"){
P[t].push_back(-1);
}else if(s=="SO"){
P[t].push_back(-1);
}
}
}
cin>>O;
int r=0,B=0,p=0,ans=0,o=0;
bool L[4]={false};
while(O-o>0){
L[0]=true;
if(P[p][r]==1){
for(int a=3;a>=0;--a){
if(L[a]){
if(a==3){
ans+=1;
}else{
L[a]=false;
L[a+1]=true;
}
}
}
}else if(P[p][r]==2){
for(int a=3;a>=0;--a){
if(L[a]){
if(a==3||a==2){
ans+=1;
L[a]=false;
}else{
L[a]=false;
L[a+2]=true;
}
}
}
}else if(P[p][r]==3){
for(int a=3;a>=0;--a){
if(L[a]){
if(a==3||a==2||a==1){
ans+=1;
L[a]=false;
}else{
L[a]=false;
L[a+3]=true;
}
}
}
}else if(P[p][r]==4){
for(int a=3;a>=0;--a){
if(L[a]){
if(a==3||a==2||a==1||a==0){
L[a]=false;
ans+=1;
}
}
}
}else if(P[p][r]==-1){
++o;
if(o%3==0&&o!=0){
for(int a=1;a<4;++a){
L[a]=false;
}
}
}

if(p!=8){
p+=1;
}else{
p=0;
r+=1;
}
}
cout<<ans<<endl;
}
}

 

這樣打的問題在哪QAQ?

 

還有範例二中

第一打者 打一壘安打

第二打者 也打一壘安打

但它下面說明彷彿直接無視

我是真D矇

 

 
#16850: Re:求大神幫忙 誇樓某


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)

學校 : 國立清華大學
編號 : 43537
來源 : [49.159.6.107]
最後登入時間 :
2022-05-28 19:29:12
c297. APCS-2016-1029-4棒球遊戲 -- 2016年10月APCS | From: [49.158.83.43] | 發表日期 : 2019-02-13 23:07

回應範例測資的問題:

因為範例一與範例二的打擊狀況是一致的,只有看的出局數不一樣。因此題目下方的說明有著一句

(範例二說明)接 續範例一, 達到第三個出局數時 未得分,壘上清空。

表示它是接續著範例一的測資說明,再接著說明範例二的測資狀況。

 

以上。希望有幫到您。

 

 
#16858: Re:求大神幫忙 誇樓某


player963852@gmail.com (謝立愷)

學校 : 不指定學校
編號 : 79656
來源 : []
最後登入時間 :
2018-05-09 23:48:42
c297. APCS-2016-1029-4棒球遊戲 -- 2016年10月APCS | From: [223.137.227.2] | 發表日期 : 2019-02-14 18:12

回應範例測資的問題:

因為範例一與範例二的打擊狀況是一致的,只有看的出局數不一樣。因此題目下方的說明有著一句

(範例二說明)接 續範例一, 達到第三個出局數時 未得分,壘上清空。

表示它是接續著範例一的測資說明,再接著說明範例二的測資狀況。

 

以上。希望有幫到您。

 



非常感謝 我終於弄懂了

 

然後程式的部分問題我也找到了 我一壘安打三壘忘記得分後要清空了:P

 

 
ZeroJudge Forum