From cb74a3aa99fe847db3bb29feddf4aeaef4ffd3d2 Mon Sep 17 00:00:00 2001 From: Baoshuo Date: Thu, 23 Feb 2023 10:14:03 +0800 Subject: [PATCH] =?UTF-8?q?#254.=20=E6=94=BE=E7=82=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://sjzezoj.com/submission/71982 --- S2OJ/254/254.cpp | 87 ++++++++++++++++++++++++++++++++++++++ S2OJ/254/data/problem.conf | 3 ++ S2OJ/254/data/wwxwwx1.in | 3 ++ S2OJ/254/data/wwxwwx1.out | 3 ++ S2OJ/254/data/wwxwwx10.in | 3 ++ S2OJ/254/data/wwxwwx10.out | 3 ++ S2OJ/254/data/wwxwwx2.in | 3 ++ S2OJ/254/data/wwxwwx2.out | 3 ++ S2OJ/254/data/wwxwwx3.in | 3 ++ S2OJ/254/data/wwxwwx3.out | 3 ++ S2OJ/254/data/wwxwwx4.in | 3 ++ S2OJ/254/data/wwxwwx4.out | 3 ++ S2OJ/254/data/wwxwwx5.in | 3 ++ S2OJ/254/data/wwxwwx5.out | 3 ++ S2OJ/254/data/wwxwwx6.in | 3 ++ S2OJ/254/data/wwxwwx6.out | 3 ++ S2OJ/254/data/wwxwwx7.in | 3 ++ S2OJ/254/data/wwxwwx7.out | 3 ++ S2OJ/254/data/wwxwwx8.in | 3 ++ S2OJ/254/data/wwxwwx8.out | 3 ++ S2OJ/254/data/wwxwwx9.in | 3 ++ S2OJ/254/data/wwxwwx9.out | 3 ++ 22 files changed, 150 insertions(+) create mode 100644 S2OJ/254/254.cpp create mode 100644 S2OJ/254/data/problem.conf create mode 100644 S2OJ/254/data/wwxwwx1.in create mode 100644 S2OJ/254/data/wwxwwx1.out create mode 100644 S2OJ/254/data/wwxwwx10.in create mode 100644 S2OJ/254/data/wwxwwx10.out create mode 100644 S2OJ/254/data/wwxwwx2.in create mode 100644 S2OJ/254/data/wwxwwx2.out create mode 100644 S2OJ/254/data/wwxwwx3.in create mode 100644 S2OJ/254/data/wwxwwx3.out create mode 100644 S2OJ/254/data/wwxwwx4.in create mode 100644 S2OJ/254/data/wwxwwx4.out create mode 100644 S2OJ/254/data/wwxwwx5.in create mode 100644 S2OJ/254/data/wwxwwx5.out create mode 100644 S2OJ/254/data/wwxwwx6.in create mode 100644 S2OJ/254/data/wwxwwx6.out create mode 100644 S2OJ/254/data/wwxwwx7.in create mode 100644 S2OJ/254/data/wwxwwx7.out create mode 100644 S2OJ/254/data/wwxwwx8.in create mode 100644 S2OJ/254/data/wwxwwx8.out create mode 100644 S2OJ/254/data/wwxwwx9.in create mode 100644 S2OJ/254/data/wwxwwx9.out diff --git a/S2OJ/254/254.cpp b/S2OJ/254/254.cpp new file mode 100644 index 00000000..11cc1fd7 --- /dev/null +++ b/S2OJ/254/254.cpp @@ -0,0 +1,87 @@ +#include + +using std::cin; +using std::cout; +const char endl = '\n'; + +const int N = 105; +const int mod = 9999973; + +int n, m; +long long f[N][N][N]{1}, ans; + +long long C(long long x) { + return x * (x - 1) / 2; +} + +int main() { + std::ios::sync_with_stdio(false); + cin.tie(nullptr); + + cin >> n >> m; + + for (int i = 1; i <= n; i++) { + // 不增加炮 + for (int j = 0; j <= m; j++) { + for (int k = 0; j + k <= m; k++) { + f[i][j][k] = f[i - 1][j][k]; + } + } + + // 增加 1 个炮 + // + // 从 1 个炮增加到 2 个炮 + for (int j = 0; j <= m; j++) { + for (int k = 1; j + k <= m; k++) { + f[i][j][k] = (f[i][j][k] + f[i - 1][j + 1][k - 1] * (j + 1) % mod) % mod; + } + } + + // 增加 1 个炮 + // + // 从 0 个炮增加到 1 个炮 + for (int j = 1; j <= m; j++) { + for (int k = 0; j + k <= m; k++) { + f[i][j][k] = (f[i][j][k] + f[i - 1][j - 1][k] * (m - j - k + 1) % mod) % mod; + } + } + + // 增加 2 个炮 + // + // 一列从 0 个炮增加到 1 个炮 + // 一列从 1 个炮增加到 2 个炮 + for (int j = 0; j <= m; j++) { + for (int k = 1; j + k <= m; k++) { + f[i][j][k] = (f[i][j][k] + f[i - 1][j][k - 1] * j * (m - j - k + 1) % mod) % mod; + } + } + + // 增加 2 个炮 + // + // 两列从 0 个炮增加到 1 个炮 + for (int j = 2; j <= m; j++) { + for (int k = 0; j + k <= m; k++) { + f[i][j][k] = (f[i][j][k] + f[i - 1][j - 2][k] * C(m - j - k + 2) % mod) % mod; + } + } + + // 增加 2 个炮 + // + // 两列从 1 个炮增加到 2 个炮 + for (int j = 0; j <= m; j++) { + for (int k = 2; j + k <= m; k++) { + f[i][j][k] = (f[i][j][k] + f[i - 1][j + 2][k - 2] * C(j + 2) % mod) % mod; + } + } + } + + for (int i = 0; i <= m; i++) { + for (int j = 0; i + j <= m; j++) { + ans = (ans + f[n][i][j]) % mod; + } + } + + cout << ans << endl; + + return 0; +} diff --git a/S2OJ/254/data/problem.conf b/S2OJ/254/data/problem.conf new file mode 100644 index 00000000..2c44d1c4 --- /dev/null +++ b/S2OJ/254/data/problem.conf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f86fde07f31a1532c0a8584ef897d9b24e989055d64ae2e17327b8932f969de +size 197 diff --git a/S2OJ/254/data/wwxwwx1.in b/S2OJ/254/data/wwxwwx1.in new file mode 100644 index 00000000..46d33a80 --- /dev/null +++ b/S2OJ/254/data/wwxwwx1.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f11ad6bbc7ecca0b2416b713dee77f1a635c00aaeaa946e14cde1c2bfae56d5 +size 4 diff --git a/S2OJ/254/data/wwxwwx1.out b/S2OJ/254/data/wwxwwx1.out new file mode 100644 index 00000000..38118f32 --- /dev/null +++ b/S2OJ/254/data/wwxwwx1.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53c234e5e8472b6ac51c1ae1cab3fe06fad053beb8ebfd8977b010655bfdd3c3 +size 2 diff --git a/S2OJ/254/data/wwxwwx10.in b/S2OJ/254/data/wwxwwx10.in new file mode 100644 index 00000000..32167554 --- /dev/null +++ b/S2OJ/254/data/wwxwwx10.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6767d5f988fc2165a5d987988f42011e21322be30147e250bad9bf0aac53f25b +size 6 diff --git a/S2OJ/254/data/wwxwwx10.out b/S2OJ/254/data/wwxwwx10.out new file mode 100644 index 00000000..126f2dac --- /dev/null +++ b/S2OJ/254/data/wwxwwx10.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:503eb0dd20d4002cd2725985ecf5649227621e1835b9b5ef0bbe1906ab0bb1d0 +size 8 diff --git a/S2OJ/254/data/wwxwwx2.in b/S2OJ/254/data/wwxwwx2.in new file mode 100644 index 00000000..360c58ba --- /dev/null +++ b/S2OJ/254/data/wwxwwx2.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0210d51797921a617229eea6331ca1ee037b676ebc25e1a146e54c5c6dbf4881 +size 4 diff --git a/S2OJ/254/data/wwxwwx2.out b/S2OJ/254/data/wwxwwx2.out new file mode 100644 index 00000000..56d7dd00 --- /dev/null +++ b/S2OJ/254/data/wwxwwx2.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f14b4987904bcb5814e4459a057ed4d20f58a633152288a761214dcd28780b56 +size 3 diff --git a/S2OJ/254/data/wwxwwx3.in b/S2OJ/254/data/wwxwwx3.in new file mode 100644 index 00000000..2407aea3 --- /dev/null +++ b/S2OJ/254/data/wwxwwx3.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d774aa7655071c0c8e65f52bf6a4dbdf7629769ec767fb916ae9f8508211ad8d +size 4 diff --git a/S2OJ/254/data/wwxwwx3.out b/S2OJ/254/data/wwxwwx3.out new file mode 100644 index 00000000..9f59972f --- /dev/null +++ b/S2OJ/254/data/wwxwwx3.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6657da15f532008b96e4d12ed7a461a51e186392e8c8006c1e12d9cf7649642d +size 8 diff --git a/S2OJ/254/data/wwxwwx4.in b/S2OJ/254/data/wwxwwx4.in new file mode 100644 index 00000000..db94a8a0 --- /dev/null +++ b/S2OJ/254/data/wwxwwx4.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b3753260cdf5c407a76c142b1651b61feb77068c97b495ca3c627b2bdb6e184 +size 4 diff --git a/S2OJ/254/data/wwxwwx4.out b/S2OJ/254/data/wwxwwx4.out new file mode 100644 index 00000000..b2db8e1c --- /dev/null +++ b/S2OJ/254/data/wwxwwx4.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cdd76c2eb8f71bcdbb971f354a04440e7a54b0fa0922585c4a33360ae519b8e +size 8 diff --git a/S2OJ/254/data/wwxwwx5.in b/S2OJ/254/data/wwxwwx5.in new file mode 100644 index 00000000..a879da29 --- /dev/null +++ b/S2OJ/254/data/wwxwwx5.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:710be522d9548d4fada099b9516bd6e79e419558a0f84e9d3486b9f83876afd4 +size 4 diff --git a/S2OJ/254/data/wwxwwx5.out b/S2OJ/254/data/wwxwwx5.out new file mode 100644 index 00000000..b468a593 --- /dev/null +++ b/S2OJ/254/data/wwxwwx5.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99aa321e58bccbec3dcc8c6a986f4803d541d7fbfc959a1a292ae4b0409f872d +size 7 diff --git a/S2OJ/254/data/wwxwwx6.in b/S2OJ/254/data/wwxwwx6.in new file mode 100644 index 00000000..32167554 --- /dev/null +++ b/S2OJ/254/data/wwxwwx6.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6767d5f988fc2165a5d987988f42011e21322be30147e250bad9bf0aac53f25b +size 6 diff --git a/S2OJ/254/data/wwxwwx6.out b/S2OJ/254/data/wwxwwx6.out new file mode 100644 index 00000000..126f2dac --- /dev/null +++ b/S2OJ/254/data/wwxwwx6.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:503eb0dd20d4002cd2725985ecf5649227621e1835b9b5ef0bbe1906ab0bb1d0 +size 8 diff --git a/S2OJ/254/data/wwxwwx7.in b/S2OJ/254/data/wwxwwx7.in new file mode 100644 index 00000000..7728ed23 --- /dev/null +++ b/S2OJ/254/data/wwxwwx7.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ac6957bfa1223d144b9a23569a388b6f283d613a3b30d55b5175e9889e7e617 +size 6 diff --git a/S2OJ/254/data/wwxwwx7.out b/S2OJ/254/data/wwxwwx7.out new file mode 100644 index 00000000..5771e4ea --- /dev/null +++ b/S2OJ/254/data/wwxwwx7.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e685dc4f8094f363bbe81777e5449418db09353a72bc16b900a99d1fc7fdf3e +size 8 diff --git a/S2OJ/254/data/wwxwwx8.in b/S2OJ/254/data/wwxwwx8.in new file mode 100644 index 00000000..fa40ebe2 --- /dev/null +++ b/S2OJ/254/data/wwxwwx8.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd2694d2518b957ba772e47c714284b99a4c95f46f86b6e138986fb12861815c +size 6 diff --git a/S2OJ/254/data/wwxwwx8.out b/S2OJ/254/data/wwxwwx8.out new file mode 100644 index 00000000..71df6eb6 --- /dev/null +++ b/S2OJ/254/data/wwxwwx8.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8860c6ae71f4b1dbe2b0674d9551af12d64ed6700bd4f5b450cfd3880c82998e +size 8 diff --git a/S2OJ/254/data/wwxwwx9.in b/S2OJ/254/data/wwxwwx9.in new file mode 100644 index 00000000..c3f8f28a --- /dev/null +++ b/S2OJ/254/data/wwxwwx9.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80938992d1a231379e2ec450829096a4025b46923366c9413d04c5dd256f24bf +size 6 diff --git a/S2OJ/254/data/wwxwwx9.out b/S2OJ/254/data/wwxwwx9.out new file mode 100644 index 00000000..14f89dd7 --- /dev/null +++ b/S2OJ/254/data/wwxwwx9.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33d8afd654a6f2f2ae2ceb18501f775c0e2b44c17b390bbee4a93767bb91606a +size 8