답안 #936542

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
936542 2024-03-02T07:09:23 Z TAhmed33 Misspelling (JOI22_misspelling) C++
28 / 100
46 ms 39004 KB
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
int add (int a, int b) {
	a += b; if (a >= MOD) a -= MOD;
	return a;
}
int sub (int a, int b) {
	a -= b; if (a < 0) a += MOD;
	return a;
}
int mul (int a, int b) {
	return (a * 1ll * b) % MOD;
}
int dp[300][300][27][2];
int n, m;
vector <pair <int, int>> dd[300];
int ans (int pos, int prev, int c, int x) {
	int &ret = dp[pos][prev][c][x];
	if (ret != -1) return ret;
	bool flag = 1;
	for (auto j : dd[pos]) {
		if (j.second == 0) {
			flag &= (prev >= j.first || x == 0);
		} else {
			flag &= (prev >= j.first || x == 1);
		}
	}
	if (!flag) return ret = 0;
	if (pos == 0) return ret = 1;
	ret = ans(pos - 1, prev, c, x);
	for (int i = 0; i < c; i++) {
		ret = add(ret, ans(pos - 1, pos, i, 0));
	}
	for (int i = c + 1; i < 26; i++) {
		ret = add(ret, ans(pos - 1, pos, i, 1));
	}
	return ret;
}
int main () {
	memset(dp, -1, sizeof(dp));
	cin >> n >> m;
	for (int i = 1; i <= m; i++) {
		int a, b;
		cin >> a >> b;
		int l = min(a, b), r = max(a, b);
		if (a > b) {
			dd[l - 1].push_back({r, 0});
		} else {
			dd[l - 1].push_back({r, 1});
		}
	}
	int sum = 0;
	for (int i = 0; i < 26; i++) {
		sum = add(sum, ans(n - 1, n + 1, i, 0));
	}
	cout << sum << '\n';
}
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 19292 KB Output is correct
2 Correct 3 ms 19308 KB Output is correct
3 Correct 3 ms 19292 KB Output is correct
4 Correct 4 ms 19472 KB Output is correct
5 Correct 3 ms 19292 KB Output is correct
6 Correct 3 ms 19292 KB Output is correct
7 Correct 4 ms 19292 KB Output is correct
8 Correct 3 ms 19292 KB Output is correct
9 Correct 3 ms 19292 KB Output is correct
10 Correct 3 ms 19292 KB Output is correct
11 Correct 4 ms 19292 KB Output is correct
12 Correct 3 ms 19292 KB Output is correct
13 Correct 3 ms 19292 KB Output is correct
14 Correct 4 ms 19292 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 19292 KB Output is correct
2 Correct 3 ms 19308 KB Output is correct
3 Correct 3 ms 19292 KB Output is correct
4 Correct 4 ms 19472 KB Output is correct
5 Correct 3 ms 19292 KB Output is correct
6 Correct 3 ms 19292 KB Output is correct
7 Correct 4 ms 19292 KB Output is correct
8 Correct 3 ms 19292 KB Output is correct
9 Correct 3 ms 19292 KB Output is correct
10 Correct 3 ms 19292 KB Output is correct
11 Correct 4 ms 19292 KB Output is correct
12 Correct 3 ms 19292 KB Output is correct
13 Correct 3 ms 19292 KB Output is correct
14 Correct 4 ms 19292 KB Output is correct
15 Correct 25 ms 19292 KB Output is correct
16 Correct 12 ms 19292 KB Output is correct
17 Correct 7 ms 19544 KB Output is correct
18 Correct 4 ms 19292 KB Output is correct
19 Correct 6 ms 19292 KB Output is correct
20 Correct 5 ms 19292 KB Output is correct
21 Correct 5 ms 19288 KB Output is correct
22 Correct 9 ms 19548 KB Output is correct
23 Correct 46 ms 19540 KB Output is correct
24 Correct 9 ms 19292 KB Output is correct
25 Correct 4 ms 19292 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 19288 KB Output is correct
2 Correct 3 ms 19292 KB Output is correct
3 Correct 3 ms 19288 KB Output is correct
4 Correct 4 ms 19292 KB Output is correct
5 Runtime error 17 ms 38956 KB Execution killed with signal 11
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 19292 KB Output is correct
2 Correct 3 ms 19308 KB Output is correct
3 Correct 3 ms 19292 KB Output is correct
4 Correct 4 ms 19472 KB Output is correct
5 Correct 3 ms 19292 KB Output is correct
6 Correct 3 ms 19292 KB Output is correct
7 Correct 4 ms 19292 KB Output is correct
8 Correct 3 ms 19292 KB Output is correct
9 Correct 3 ms 19292 KB Output is correct
10 Correct 3 ms 19292 KB Output is correct
11 Correct 4 ms 19292 KB Output is correct
12 Correct 3 ms 19292 KB Output is correct
13 Correct 3 ms 19292 KB Output is correct
14 Correct 4 ms 19292 KB Output is correct
15 Correct 25 ms 19292 KB Output is correct
16 Correct 12 ms 19292 KB Output is correct
17 Correct 7 ms 19544 KB Output is correct
18 Correct 4 ms 19292 KB Output is correct
19 Correct 6 ms 19292 KB Output is correct
20 Correct 5 ms 19292 KB Output is correct
21 Correct 5 ms 19288 KB Output is correct
22 Correct 9 ms 19548 KB Output is correct
23 Correct 46 ms 19540 KB Output is correct
24 Correct 9 ms 19292 KB Output is correct
25 Correct 4 ms 19292 KB Output is correct
26 Runtime error 18 ms 39004 KB Execution killed with signal 11
27 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 19292 KB Output is correct
2 Correct 3 ms 19308 KB Output is correct
3 Correct 3 ms 19292 KB Output is correct
4 Correct 4 ms 19472 KB Output is correct
5 Correct 3 ms 19292 KB Output is correct
6 Correct 3 ms 19292 KB Output is correct
7 Correct 4 ms 19292 KB Output is correct
8 Correct 3 ms 19292 KB Output is correct
9 Correct 3 ms 19292 KB Output is correct
10 Correct 3 ms 19292 KB Output is correct
11 Correct 4 ms 19292 KB Output is correct
12 Correct 3 ms 19292 KB Output is correct
13 Correct 3 ms 19292 KB Output is correct
14 Correct 4 ms 19292 KB Output is correct
15 Correct 25 ms 19292 KB Output is correct
16 Correct 12 ms 19292 KB Output is correct
17 Correct 7 ms 19544 KB Output is correct
18 Correct 4 ms 19292 KB Output is correct
19 Correct 6 ms 19292 KB Output is correct
20 Correct 5 ms 19292 KB Output is correct
21 Correct 5 ms 19288 KB Output is correct
22 Correct 9 ms 19548 KB Output is correct
23 Correct 46 ms 19540 KB Output is correct
24 Correct 9 ms 19292 KB Output is correct
25 Correct 4 ms 19292 KB Output is correct
26 Correct 3 ms 19288 KB Output is correct
27 Correct 3 ms 19292 KB Output is correct
28 Correct 3 ms 19288 KB Output is correct
29 Correct 4 ms 19292 KB Output is correct
30 Runtime error 17 ms 38956 KB Execution killed with signal 11
31 Halted 0 ms 0 KB -