📄 zp1168_dp.cpp
字号:
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//program p1168;
#pragma argsused
#include<iostream.h>
long int r[25][25][25];
long int calw(int a,int b,int c)
{
if (a>20||b>20||c>20) return r[20][20][20];
else if (a<0||b<0||c<0) return 1;
else return r[a][b][c];
}
int main(int argc, char* argv[])
{
int i,a,b,c,yt;
for (a=0;a<2;a++)
for (b=0;b<2;b++)
for (c=0;c<2;c++)
if (a*b*c==0) r[a][b][c]=1;
for (a=1;a<=20;a++)
{ r[a][0][0]=1;r[0][a][0]=1;r[0][0][a]=1;}
for (a=1;a<=20;a++)
for (b=1;b<=20;b++)
for (c=1;c<=20;c++)
if (a<b&&b<c)
r[a][b][c]=r[a][b][c-1]+r[a][b-1][c-1]-r[a][b-1][c];
else
r[a][b][c]=r[a-1][b][c]+r[a-1][b-1][c]+r[a-1][b][c-1]-r[a-1][b-1][c-1];
cin>>a>>b>>c;
if (a==-1&&b==-1&&c==-1) yt=0;
while (yt)
{
cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<<calw(a,b,c)<<endl;
cin>>a>>b>>c;
if (a==-1&&b==-1&&c==-1) yt=0;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -