@[Kapo_Hisy](/user/922691)
我的代码:
```cpp
#include<cstdio>
using namespace std;
long long f[25][25][25] , a , b , c;
long long w(long long a , long long b , long long c){
if(a<=0||b<=0||c<=0) return 1;
else if(a>20||b>20||c>20) f[a][b][c] = w(20,20,20);
else if(f[a][b][c]!=0) return f[a][b][c];
else if(a<b&&b<c){
f[a][b][c] = w(a,b,c-1) + w(a,b-1,c-1)-w(a,b-1,c);
}
else{
f[a][b][c] = w(a-1,b,c) + w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);
}
return f[a][b][c];
}
int main(){
while(scanf("%lld%lld%lld",&a,&b,&c)==3){
if(a==b&&b==c&&c==-1){return 0;}
printf("w(%lld, %lld, %lld) = ",a,b,c);
if(a>20) a = 21;
if(b>20) b = 21;
if(c>20) c = 21;
printf("%lld\n",w(a,b,c));
}
return 0;
}
```
你的代码太长~~懒得检查~~检查不出来,求关QAQ
by User1025109 @ 2024-02-13 20:47:33
@[Kapo_Hisy](/user/922691)
十年OI一场空,不开long long见祖宗
by User1025109 @ 2024-02-13 20:54:08
谢谢 @[User1025109](/user/1025109) 的回复,调试出来了,不是 ```first<second||second<third```,而是 ```first<second&&second<third```,脑袋抽了,此贴结。
by Kapo_Hisy @ 2024-02-13 20:57:26