Submission #880115

# Submission time Handle Problem Language Result Execution time Memory
880115 2023-11-28T18:18:08 Z DAleksa Misspelling (JOI22_misspelling) C++17
28 / 100
1065 ms 9308 KB
#include <bits/stdc++.h>

using namespace std;

const int mod = 1e9 + 7;

int add(int x, int y) { x += y; return x >= mod ? x - mod : x; }
void sadd(int& x, int y) { x = add(x, y); }

const int N = 210;
int n, m;
int a[N], b[N];
int dp[N][N][26];
int cnt[N][N][2];

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin >> n >> m;
    for(int i = 0; i < m; i++) {
        cin >> a[i] >> b[i];
        for(int j = min(a[i], b[i]); j < max(a[i], b[i]); j++) {
            for(int len = 1; len <= n; len++) {
                if(j - len + 1 > min(a[i], b[i])) continue;
                if(j < len) break;
                if(a[i] < b[i]) cnt[j][len][0]++;
                else cnt[j][len][1]++;
            }
        }
    }
    for(int i = 1; i <= n; i++) for(int j = 0; j < 26; j++) dp[i][i][j] = 1;
    for(int i = 2; i <= n; i++) {
        for(int len = 1; len <= i; len++) {
            for(int c = 0; c < 26; c++) {
                for(int j = 1; j <= i - len; j++) {
                    if(cnt[i - len][j][0] == 0 && cnt[i - len][j][1] == 0) {
                        for(int c2 = 0; c2 < c; c2++) sadd(dp[i][len][c], dp[i - len][j][c2]);
                        for(int c2 = c + 1; c2 < 26; c2++) sadd(dp[i][len][c], dp[i - len][j][c2]);
                    } else if(cnt[i - len][j][0] > 0 && cnt[i - len][j][1] == 0) {
                        for(int c2 = c + 1; c2 < 26; c2++) sadd(dp[i][len][c], dp[i - len][j][c2]);
                    } else if(cnt[i - len][j][0] == 0 && cnt[i - len][j][1] > 0) {
                        for(int c2 = 0; c2 < c; c2++) sadd(dp[i][len][c], dp[i - len][j][c2]);
                    } else break;
                }
            }
        }
    }
    int ans = 0;
    for(int len = 1; len <= n; len++) for(int c = 0; c < 26; c++) sadd(ans, dp[n][len][c]);
    cout << ans;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 1 ms 2396 KB Output is correct
13 Correct 1 ms 2396 KB Output is correct
14 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 1 ms 2396 KB Output is correct
13 Correct 1 ms 2396 KB Output is correct
14 Correct 1 ms 2396 KB Output is correct
15 Correct 567 ms 4948 KB Output is correct
16 Correct 239 ms 5228 KB Output is correct
17 Correct 32 ms 4956 KB Output is correct
18 Correct 20 ms 4952 KB Output is correct
19 Correct 35 ms 4956 KB Output is correct
20 Correct 50 ms 4944 KB Output is correct
21 Correct 29 ms 4948 KB Output is correct
22 Correct 34 ms 5084 KB Output is correct
23 Correct 1065 ms 5296 KB Output is correct
24 Correct 68 ms 4948 KB Output is correct
25 Correct 18 ms 4948 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Runtime error 5 ms 9308 KB Execution killed with signal 11
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 1 ms 2396 KB Output is correct
13 Correct 1 ms 2396 KB Output is correct
14 Correct 1 ms 2396 KB Output is correct
15 Correct 567 ms 4948 KB Output is correct
16 Correct 239 ms 5228 KB Output is correct
17 Correct 32 ms 4956 KB Output is correct
18 Correct 20 ms 4952 KB Output is correct
19 Correct 35 ms 4956 KB Output is correct
20 Correct 50 ms 4944 KB Output is correct
21 Correct 29 ms 4948 KB Output is correct
22 Correct 34 ms 5084 KB Output is correct
23 Correct 1065 ms 5296 KB Output is correct
24 Correct 68 ms 4948 KB Output is correct
25 Correct 18 ms 4948 KB Output is correct
26 Runtime error 3 ms 4956 KB Execution killed with signal 11
27 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 1 ms 2396 KB Output is correct
13 Correct 1 ms 2396 KB Output is correct
14 Correct 1 ms 2396 KB Output is correct
15 Correct 567 ms 4948 KB Output is correct
16 Correct 239 ms 5228 KB Output is correct
17 Correct 32 ms 4956 KB Output is correct
18 Correct 20 ms 4952 KB Output is correct
19 Correct 35 ms 4956 KB Output is correct
20 Correct 50 ms 4944 KB Output is correct
21 Correct 29 ms 4948 KB Output is correct
22 Correct 34 ms 5084 KB Output is correct
23 Correct 1065 ms 5296 KB Output is correct
24 Correct 68 ms 4948 KB Output is correct
25 Correct 18 ms 4948 KB Output is correct
26 Correct 1 ms 2396 KB Output is correct
27 Correct 1 ms 2396 KB Output is correct
28 Correct 1 ms 2396 KB Output is correct
29 Correct 1 ms 2396 KB Output is correct
30 Runtime error 5 ms 9308 KB Execution killed with signal 11
31 Halted 0 ms 0 KB -