代码求调

P1166 打保龄球

@[clx201022](/user/552688) AC 了!!! ```cpp #include<bits/stdc++.h> using namespace std; const int full_score=10; const int maxlun=12; const int maxtimes=2; const int start_lun=1; struct each_turn { int score;//分数 用了多少次机会 vector<int>ball; each_turn():ball(0),score(0){} }turn[maxlun+1]; int main(void) { string s; int now_lun=start_lun,sum=0; vector<int>wer; getline(cin,s); for(int i=0;i<s.size();i++) { if(s[i]==' ') { now_lun++; continue; } if(s[i]=='/') { turn[now_lun].ball.push_back(full_score-turn[now_lun].score); turn[now_lun].score=full_score; } else { turn[now_lun].ball.push_back(s[i]-'0'); turn[now_lun].score+=s[i]-'0'; } } for(int u=start_lun,zzz=0,searching_lun,searching_ball;u<=now_lun;u++) { zzz=maxtimes-turn[u].ball.size()+(turn[u].score==full_score);//后面还有多少次球的分能挤进来 for(searching_lun=u+1;zzz>0;zzz--,searching_lun++) { if(searching_lun>now_lun) goto not_finish; for(searching_ball=0;searching_ball<turn[searching_lun].ball.size()&&zzz>0;searching_ball++,zzz--) { //printf("turn[%d].ball[%d]=%d\n",searching_lun,searching_ball,turn[searching_lun].ball[searching_ball]); turn[u].score+=turn[searching_lun].ball[searching_ball]; } if(!(searching_ball<turn[searching_lun].ball.size()))zzz++; } wer.push_back(turn[u].score); not_finish:; } for(auto i:wer) { cout<<i<<' '; } cout<<endl; for(auto i:wer) { sum+=i; cout<<sum<<' '; } cout<<endl; return 0; } ```
by clx201022 @ 2023-12-09 15:58:49


|