xdoj 1056: 尋找BOSS
阿新 • • 發佈:2018-11-24
1056: 尋找BOSS
時間限制: 1 Sec 記憶體限制: 128 MB
提交: 232 解決: 70
[提交][狀態][討論版]
題目描述
戰士們,去挑戰BOSS吧!BOSS和你共處的區域是一個平面直角座標系中,你的初始位置在(0,0)處,BOSS的位置在(n,n)處。
邪惡的BOSS對這片區域施加了魔法,即:
(1)你只能向上或向右移動一個單位(不能向左向下走);(2)y>x所表示的區域是陷阱,你是不能到達的;(3)只能停留在格點上,即點(x,y),x,y都是整數。
那麼你可以有多少種方式到達BOSS的位置?
輸入
多組資料
每組資料輸入一個正整數n(1<=n<=1000)
輸出
輸出到達BOSS位置的方案數,對10007取餘,並換行
樣例輸入
1
2
樣例輸出
1
2
提示
來源
2015西電ACM校賽
//動態規劃
#include<stdio.h>
#include<math.h>
#define n 1001
long int dp[n][n];
int main()
{
int a,b,i,j;
for(i=0;i<n;i++)
{
dp[i][0]=1;
}
for(i=1;i<n;i++)
{
for (j=1;j<=i;j++)
{
dp[i][j]=dp[i-1][j]%10007+dp[i][j-1]%10007;//敲黑板了,這是重點,過程中每一個結果都要去餘數,不然會發生錯誤
}
}
while(scanf("%d",&a)!=EOF)
{
a=dp[a][a]%10007;
printf("%ld\n",a);
}
return 0;
}