2 条题解
-
0
/* http://www.cnblogs.com/karl07/ */ #include <cstdlib> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; #define ll long long //#define P 9999973 //bzoj1801 #define P 999983 //bzoj4806 #define C(x) ((x)*(x-1)/2) int n,m; ll f[105][105][105]; int main(){ scanf("%d%d",&n,&m); f[0][0][0]=1; for (int i=1;i<=n;i++){ for (int j=0;j<=m;j++){ for (int k=0;k<=m-j;k++){ f[i][j][k] += f[i-1][j][k]; if (j>=1) f[i][j][k] += f[i-1][j-1][k]*(m-j-k+1); if (k>=1 && j<=m-1)f[i][j][k] += f[i-1][j+1][k-1]*(j+1); if (j>=2) f[i][j][k] += f[i-1][j-2][k]*C(m-j-k+2); if (k>=2 && j<=m-2)f[i][j][k] += f[i-1][j+2][k-2]*C(j+2); if (j>=1 && k>=1) f[i][j][k] += f[i-1][j][k-1]*j*(m-j-k+1); f[i][j][k] %= P; } } } ll ans=0; for (int i=0;i<=m;i++){ for (int j=0;j<=m-i;j++){ ans += f[n][i][j]; ans %= P; } } printf("%lld\n",ans); return 0; } -
0
/* http://www.cnblogs.com/karl07/ */ #include <cstdlib> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; #define ll long long //#define P 9999973 //bzoj1801 #define P 999983 //bzoj4806 #define C(x) ((x)*(x-1)/2) int n,m; ll f[105][105][105]; int main(){ scanf("%d%d",&n,&m); f[0][0][0]=1; for (int i=1;i<=n;i++){ for (int j=0;j<=m;j++){ for (int k=0;k<=m-j;k++){ f[i][j][k] += f[i-1][j][k]; if (j>=1) f[i][j][k] += f[i-1][j-1][k]*(m-j-k+1); if (k>=1 && j<=m-1)f[i][j][k] += f[i-1][j+1][k-1]*(j+1); if (j>=2) f[i][j][k] += f[i-1][j-2][k]*C(m-j-k+2); if (k>=2 && j<=m-2)f[i][j][k] += f[i-1][j+2][k-2]*C(j+2); if (j>=1 && k>=1) f[i][j][k] += f[i-1][j][k-1]*j*(m-j-k+1); f[i][j][k] %= P; } } } ll ans=0; for (int i=0;i<=m;i++){ for (int j=0;j<=m-i;j++){ ans += f[n][i][j]; ans %= P; } } printf("%lld\n",ans); return 0; }
- 1
信息
- ID
- 6475
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 2
- 上传者