Submission #88670

#TimeUsernameProblemLanguageResultExecution timeMemory
88670BadralEnergetic turtle (IZhO11_turtle)C++17
5 / 100
155 ms98860 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[maxn][maxn];
int b[maxn][maxn][25];
int n, m, k1, t, z;
 
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[x][y] = 1;
	}
	b[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 o = 1; o <= t; o++) {
					if(i > 0)
						b[i][j][o] += b[i-1][j][o - 1];
					if(j > 0)
						b[i][j][o] += b[i][j][o - 1];
					b[i][j][o] %= z;
				}
			}
			else {
				for(int o = 0; o <= t; o++) {
					if(i > 0)
						b[i][j][o] += b[i - 1][j][o];
					if(j > 0)
						b[i][j][o] += b[i][j - 1][o];
					b[i][j][o] %= z;
				}
			}
		}
	}
	for(int i = 0; i <= 20; i++) ans += b[n][m][i], ans %= z;
	cout<<ans%z;
}
#Verdict Execution timeMemoryGrader output
Fetching results...