1043 幸運號碼
基準時間限制:1 秒 空間限制:131072 kb 分值: 20
難度:3級演算法題
1個長度為2n的數,如果左邊n個數的和 = 右邊n個數的和,那麼就是乙個幸運號碼。
例如:99、1230、123312是幸運號碼。
給出乙個n,求長度為2n的幸運號碼的數量。由於數量很大,輸出數量 mod 10^9 + 7的結果即可。
input
輸入n(1<= n <= 1000)output
輸出幸運號碼的數量 mod 10^9 + 7input示例
1output示例
9因為是求和 數字比較小所以可以直接開一維表示形成當前值有多少種可能
#include #include using namespace std;
typedef long long ll;
const ll mod = 1e9+7;
ll dp[3][10000];
int main()
{ int n;
scanf("%d", &n);
memset(dp,0,sizeof(dp));
for(int i=0;i<10;i++) dp[1][i]=1;
if(n==1)
{cout<<9<
51nod 1043 幸運號碼 (數字dp)
dp i j 表示 i 個數和為 j 的總數 包含0開頭情況 dp i j dp i 1 j k i 1 這裡用滾動陣列節省記憶體 非0開頭的情況 0開頭的情況 dp n 1 i dp n 1 1 i dp n 1 i 最後將其累加即為結果。開始沒有想到這麼做,還傻傻的dfs,用dp 1000 10...
51Nod 1043 幸運號碼 數字DP
1043 幸運號碼 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 1個長度為2n的數,如果左邊n個數的和 右邊n個數的和,那麼就是乙個幸運號碼。例如 99 1230 123312是幸運號碼。給出乙個n,求長度為2n的幸運號碼的數量。由於數量很大,輸出數量 mod...
51nod 1043 幸運號碼(數字dp)
51nod 1043 幸運號碼 數字dp 用dp i j 表示長度為 i,和為 j 的所有情況 包含前導零 狀態轉移方程 dp i j d p i 1 j k 0 k 9 dp i j sum 0 k 9 dp i j dp i 1 j k 0 k 9 最後結果根據乘法法則 應該是左邊的情況 右邊的...