Submission #707793

# Submission time Handle Problem Language Result Execution time Memory
707793 2023-03-10T07:01:52 Z TAhmed33 Mate (COCI18_mate) C++
0 / 100
51 ms 65968 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
vector <int> arr;
int n;
int dp[26][26][2001] = {};
const int MOD = 1e9 + 7;
int ncr[2001][2001];
signed main () {
	ios::sync_with_stdio(false);
	cin.tie(0);
	string s;
	cin >> s;
	n = s.length();
	for (int i = 0; i <= n; i++) {
		for (int j = 0; j <= n; j++) {
			if (j == 0 || j == i) {
				ncr[i][j] = 1;
			} else if (i < j) {
				ncr[i][j] = 0;
			} else {
				ncr[i][j] = ncr[i - 1][j] + ncr[i - 1][j - 1];
				if (ncr[i][j] >= MOD) ncr[i][j] -= MOD;
			}
		}
	}
	arr.push_back(8);
	for (int i = 0; i < n; i++) {
		arr.push_back(s[i] - 'a');
	}
	for (int i = 1; i <= n - 1; i++) {
		for (int j = i + 1; j <= n; j++) {
			for (int k = 2; k <= i + 1; k++) {
				dp[k][arr[i]][arr[j]] += ncr[i - 1][i + 1 - k];
				if (dp[k][arr[i]][arr[j]] >= MOD) dp[k][arr[i]][arr[j]] -= MOD;
			}
		}
	}
	int q;
	cin >> q;
	while (q--) {
		int d;
		char a, b;
		cin >> d >> a >> b;
		int x = a - 'a';
		int y = b - 'a';
		cout << dp[d][x][y] << '\n';
	}
}
# Verdict Execution time Memory Grader output
1 Runtime error 6 ms 3284 KB Execution killed with signal 11
2 Runtime error 5 ms 3028 KB Execution killed with signal 11
3 Runtime error 5 ms 3028 KB Execution killed with signal 11
4 Runtime error 6 ms 3028 KB Execution killed with signal 11
5 Runtime error 11 ms 4832 KB Execution killed with signal 11
6 Runtime error 10 ms 4692 KB Execution killed with signal 11
7 Runtime error 8 ms 4564 KB Execution killed with signal 11
8 Runtime error 6 ms 4564 KB Execution killed with signal 11
9 Runtime error 48 ms 65968 KB Execution killed with signal 11
10 Runtime error 51 ms 65836 KB Execution killed with signal 11