@[williamllk](/user/112521) 就是您第一行输出的东西比答案输出的长
by FCB_Yiyang2006✈ @ 2020-04-11 21:20:20
输出超限
by FCB_Yiyang2006✈ @ 2020-04-11 21:21:18
@[Yiyang2006](/user/149301) 那这有什么修改的方法吗?
by williamllk @ 2020-04-11 21:32:47
@[williamllk](/user/112521) 康康您代码吧
by FCB_Yiyang2006✈ @ 2020-04-11 21:33:46
[打保龄球](https://www.luogu.com.cn/problemnew/solution/P1166)
我这道题错了三个点,都是这个原因,能不能帮我看下是为什么?
```cpp
#include<bits/stdc++.h>
using namespace std;
string com[13];
int a[11],b[11];
int t,score=0;
int f(char c){
if(c=='/') return 10;
else return int(c)-int('0');
}
int fs(int i){
string st=com[i],st2=com[min(i+1,t)],st3=com[min(i+2,t)];
int ans;
if(st[0]!='/'&&st[1]!='/') a[i]=f(st[0])+f(st[1]);
else{
if(st[0]=='/'){
if(st2[0]=='/'&&st2.size()==1) a[i]=20+f(st3[0]);
else a[i]=10+min(10,f(st2[0])+f(st2[1]));
}
else a[i]=10+f(st2[0]);
}
//a[i]=ans;
return a[i];
}
int main(){
for(t=1;t<=10;t++) cin>>com[t];
if(com[10][0]=='/'){
cin>>com[11];
t++;
if(com[11].size()==1){
cin>>com[12];
t++;
}
}
else if(com[10].size()>1)
if(com[10][1]='/') cin>>com[11];
for(int i=1;i<=10;i++){
score += fs(i);
b[i]=score;
}
for(int i=1;i<=10;i++)
cout<<a[i]<<" ";
cout<<endl;
for(int i=1;i<=10;i++)
cout<<b[i]<<" ";
return 0;
}
```
by williamllk @ 2020-04-11 21:33:52
我刚好像链接给错了,重新发一个
[准确地址-打保龄球](https://www.luogu.com.cn/problem/P1166)
by williamllk @ 2020-04-11 21:36:44
@[williamllk](/user/112521) 您输出那个循环i不一定小于10吧
by FCB_Yiyang2006✈ @ 2020-04-11 21:37:50
应该就是这问题
by FCB_Yiyang2006✈ @ 2020-04-11 21:41:20
@[Yiyang2006](/user/149301) 我刚刚也仔细看了下题,确实不一定输出十个。但我现在也不知道怎么去判断这个是不是可以算出?
by williamllk @ 2020-04-11 21:42:09
@[Yiyang2006](/user/149301) 因为之前我做的题更这个差不多,不过只要输出最后的那个和就行了,但这上面好像多了些问题
by williamllk @ 2020-04-11 21:42:53