```cpp
while(scanf("%ld%ld%ld",&a,&b,&c))
printf("w(%ld, %ld, %ld) = %ld\n",a,b,c,ans);
```
这两段都有问题。long long的格式符是%lld,不是%ld哦。
另外,建议输入a,b,c后作特判,如果大于20可以变成21。避免数组越界。
还有,不需要每次读入a,b,c后把x数组清零。上一次的数据和一次也能用。
```cpp
int main()
{
ll a,b,c;
memset(x,0,sizeof(x));
while(scanf("%lld%lld%lld",&a,&b,&c))
{
if(a==-1&&b==-1&&c==-1) break;
printf("w(%lld, %lld, %lld) = ",a,b,c);
if(a>20) a=21;
if(b>20) b=21;
if(c>20) c=21;
ll ans=w(a,b,c);
printf("%lld\n",ans);
}
}
```
by xiaoshumiao @ 2023-06-21 18:56:55