제출 #17753

#제출 시각아이디문제언어결과실행 시간메모리
17753Adilkhan힘 센 거북 (IZhO11_turtle)C++98
0 / 100
5 ms632 KiB
#include <bits/stdc++.h> #define pb push_back #define endl "\n" #define mp make_pair #define fi first #define se second #define all(x) x.begin(), x.end() #define fname "" #define sz(x) (int)(x.size()) typedef long long ll; using namespace std; const ll N = (ll)(5e5) + 322; const ll INF = (ll)(1e9); const ll mod = (ll)(1e9) + 7; const double eps = 1e-9; int n, m, a[500][500], d[500][500][20], z, k, t, x, y, sum; int main () { ios_base::sync_with_stdio(false); cin.tie(0); // freopen(fname".in", "r", stdin); //freopen(fname".out", "w", stdout); cin >> n >> m >> k >> t >> z; for (int i = 1; i <= k; ++i) { cin >> x >> y; //scanf("%lld%lld", &x, &y); a[x][y] = 1; } d[0][0][0] = 1; for (int i = 0; i <= n; ++i) { for (int j = 0; j <= m; ++j) { if (i == 0 && j == 0) continue; if (a[i][j] == 1) { for (int q = 1; q <= k; ++q) { d[i][j][q] = (d[i - 1][j][q - 1] + d[i][j][q]) % z; d[i][j][q] = (d[i][j - 1][q - 1] + d[i][j][q]) % z; } }else { for (int q = 0; q <= k; ++q) { d[i][j][q] = (d[i - 1][j][q] + d[i][j][q]) % z; d[i][j][q] = (d[i][j - 1][q] + d[i][j][q]) % z; } } } } for (int i = 0; i <= t; ++i) { sum += d[n][m][i]; sum %= z; } cout << sum; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...