?? 1028 ignatius and the princess iii.cpp
字號(hào):
/*
1028 Ignatius and the Princess III
Time Limit : 1000 ms Memory Limit : 32768 K Output Limit : 1024 K
15 MS 364 KB 1096 B
GUN C++
*/
/*
采用二維數(shù)組存儲(chǔ)信息
列表示解決的數(shù)據(jù)
行表示產(chǎn)生的各種對(duì)中最小值為行值的數(shù)目
難度在于會(huì)出現(xiàn)重復(fù)計(jì)算,要不出現(xiàn)過的格式排除
*/
#include <iostream.h>
#include <math.h>
using namespace std;
const int NMAX=120;
int main()
{
int n,p,ca,cb,cc,ans,avg,temp,solved[1+NMAX/2][NMAX+1]={0};
solved[0][1]=1;solved[0][2]=2;solved[0][3]=3;solved[0][4]=5;
solved[1][2]=1;solved[1][3]=2;solved[1][4]=3;solved[2][4]=1;
solved[0][0]=4;
while(cin>>n && n<=NMAX)
{
if(n>solved[0][0])
{
for(ca=solved[0][0]+1;ca<=n;ca++)
{
avg=(int)ca/2;ans=0;
for(cb=1;cb<=avg;cb++)
{
temp=solved[0][ca-cb];
for(cc=1;cc<cb;cc++)
temp-=solved[cc][ca-cb];
solved[cb][ca]=temp;
ans+=temp;
}
ans++;//加上自身
solved[0][ca]=ans;
}
}
cout<<solved[0][n]<<endl;
}
return 0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -