Submission #219351

# Submission time Handle Problem Language Result Execution time Memory
219351 2020-04-05T07:29:53 Z Vimmer Trener (COCI20_trener) C++14
55 / 110
2000 ms 16352 KB
#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>

#define F first
#define S second
#define sz(x) ll(x.size())
#define pb push_back
#define N 75005
#define M ll(1e9 + 7)

using namespace std;
//using namespace __gnu_pbds;

typedef long double ld;
typedef long long ll;
typedef short int si;

//typedef tree<int, null_type, less <int>, rb_tree_tag, tree_order_statistics_node_update> oredered_set;



ll dp[51][1501];

int main()
{
    ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int n, k;

    cin >> n >> k;

    string s[n][k][3];

    for (int i = 0; i < n; i++)
        for (int j = 0; j < k; j++) {cin >> s[i][j][0]; if (i != 0) {s[i][j][1] = s[i][j][0].substr(0, i); s[i][j][2] = s[i][j][0].substr(1);} }

    for (int i = 0; i < k; i++) dp[0][i] = 1;

    for (int i = 0; i < n - 1; i++)
        for (int j = 0; j < k; j++)
            for (int u = 0; u < k; u++) if (s[i][j][0] == s[i + 1][u][1] || s[i][j][0] == s[i + 1][u][2]) dp[i + 1][u] = (dp[i + 1][u] + dp[i][j]) % M;

    ll ans = 0;

    for (int i = 0; i < k; i++) ans = (ans + dp[n - 1][i]) % M;

    cout << ans << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 1664 KB Output is correct
2 Correct 13 ms 1664 KB Output is correct
3 Correct 13 ms 1664 KB Output is correct
4 Correct 9 ms 1664 KB Output is correct
5 Correct 18 ms 1664 KB Output is correct
6 Correct 18 ms 1664 KB Output is correct
7 Correct 9 ms 1664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 13 ms 1664 KB Output is correct
6 Correct 13 ms 1664 KB Output is correct
7 Correct 13 ms 1664 KB Output is correct
8 Correct 9 ms 1664 KB Output is correct
9 Correct 18 ms 1664 KB Output is correct
10 Correct 18 ms 1664 KB Output is correct
11 Correct 9 ms 1664 KB Output is correct
12 Correct 1459 ms 15996 KB Output is correct
13 Correct 1452 ms 16124 KB Output is correct
14 Correct 1484 ms 16120 KB Output is correct
15 Correct 1452 ms 16352 KB Output is correct
16 Correct 614 ms 16104 KB Output is correct
17 Execution timed out 2092 ms 16240 KB Time limit exceeded
18 Halted 0 ms 0 KB -