1. 程式人生 > >xdoj 1056: 尋找BOSS

xdoj 1056: 尋找BOSS

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; }