Submission #88674

#TimeUsernameProblemLanguageResultExecution timeMemory
88674BadralEnergetic turtle (IZhO11_turtle)C++17
40 / 100
149 ms98372 KiB
#include<bits/stdc++.h> #define maxn 1005 #define mp make_pair #define pb push_back #define ff first #define ss second using namespace std; typedef long long ll; int ans; bool a[2000002]; int b[2000002][25]; int n, m, k1, t, z; inline int lol(int X, int Y) { return (X * (m + 1ll)) + Y; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >>n >>m >>k1 >>t >>z; while(k1--) { int x, y; cin >>x >>y; a[lol(x, y)] = 1; } b[lol(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[lol(i, j)] == 1) { for(int o = 1; o <= t; o++) { if(i != 0) b[lol(i, j)][o] += b[lol(i-1, j)][o - 1]; if(j != 0) b[lol(i, j)][o] += b[lol(i, j-1)][o - 1]; b[lol(i, j)][o] %= z; } } else { for(int o = 0; o <= t; o++) { if(i != 0) b[lol(i, j)][o] += b[lol(i - 1, j)][o]; if(j != 0) b[lol(i, j)][o] += b[lol(i, j - 1)][o]; b[lol(i, j)][o] %= z; } } } } for(int i = 0; i <= 20; i++) ans += b[lol(n, m)][i], ans %= z; cout<<ans%z; }
#Verdict Execution timeMemoryGrader output
Fetching results...