# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
88674 | Badral | Energetic turtle (IZhO11_turtle) | C++17 | 149 ms | 98372 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |