# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
171094 | 2019-12-27T11:10:14 Z | SamAnd | 힘 센 거북 (IZhO11_turtle) | C++17 | 4 ms | 532 KB |
#include <bits/stdc++.h> using namespace std; const int K = 22, N = 2003; int M; struct ban { int x, y; ban() { x = y = 0; } ban(int x, int y) { this->x = x; this->y = y; } }; bool operator<(const ban& a, const ban& b) { if (a.x < b.x) return true; if (a.x > b.x) return false; return a.y < b.y; } int c[N][N]; void pre() { for (int i = 0; i < N; ++i) { c[i][0] = 1; for (int j = 1; j <= i; ++j) c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % M; } } int n, m, k, t; ban a[K]; int u[K]; int main() { freopen("input.txt", "r", stdin); scanf("%d%d%d%d%d", &n, &m, &k, &t, &M); for (int i = 0; i < k; ++i) scanf("%d%d", &a[i].x, &a[i].y); sort(a, a + k); pre(); for (int x = 0; x < (1 << k); ++x) { vector<ban> v; for (int i = 0; i < k; ++i) { if ((x & (1 << i))) v.push_back(a[i]); } bool z = false; for (int i = 0; i < (int)v.size() - 1; ++i) { if (v[i].x > v[i + 1].x || v[i].y > v[i + 1].y) { z = true; break; } } if (z) continue; if (v.empty()) { u[0] = c[n + m][n]; continue; } int yans = c[v[0].x + v[0].y][v[0].y]; for (int i = 0; i < (int)v.size() - 1; ++i) { yans = (yans * 1LL * c[v[i + 1].x - v[i].x + v[i + 1].y - v[i].y][v[i + 1].y - v[i].y]) % M; } yans = (yans * 1LL * c[n - v.back().x + m - v.back().y][m - v.back().y]) % M; u[v.size()] = (u[v.size()] + yans) % M; } int ans = 0; for (int i = 0; i <= t; ++i) { int q[K] = {}; ans = (ans + u[i]) % M; q[i] = 1; for (int j = i + 1; j <= k; ++j) { for (int t = i; t < j; ++t) { q[j] = (q[j] - q[t] * c[j][t]); } ans = (ans + u[j] * q[j]) % M; } } printf("%d\n", ans); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 2 ms | 532 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
2 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
3 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
4 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
5 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
6 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
7 | Runtime error | 0 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
8 | Runtime error | 3 ms | 476 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
9 | Runtime error | 3 ms | 504 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
10 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
11 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
12 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
13 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
14 | Runtime error | 4 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
15 | Runtime error | 3 ms | 380 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
16 | Runtime error | 3 ms | 504 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
17 | Runtime error | 3 ms | 504 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
18 | Runtime error | 3 ms | 504 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
19 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
20 | Runtime error | 3 ms | 376 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |