Submission #942734

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
9427342024-03-11 03:40:35artixkrishnaMate (COCI18_mate)C++14
80 / 100
213 ms68084 KiB
#include <bits/stdc++.h>
using namespace std;
#define mod (1000000000 + 7)
#define N 2005
typedef long long ll;
string s;
int q, n, qtd[30][N];
ll dp[N][30][30], ch[N][N];
vector<int> pos[30];
ll choose(int a, int b) {
if (a == b || b == 0)
return 1;
if (b == 1)
return a;
if (b > a)
return 0;
if (ch[a][b] != -1)
return ch[a][b];
return ch[a][b] = (choose(a - 1, b - 1) + choose(a - 1, b)) % mod;
}
void solve(int a, int b) {
for (int len = 1; len <= n; len++) {
for (int i = 0; i < pos[a].size(); i++) {
int x = pos[a][i];
dp[len][a][b] += ((ll)qtd[b][x + 1] * choose(x - 1, len - 2)) % mod;
dp[len][a][b] %= mod;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

mate.cpp: In function 'void solve(int, int)':
mate.cpp:26:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |     for (int i = 0; i < pos[a].size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...