Submission #3773205


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

const int maxn = 305, mod = 1e9 + 7;

int n, m;
int f[maxn][maxn][maxn];
vector<pair<int, int> > vec[maxn];

inline int gi()
{
	char c = getchar();
	while (c < '0' || c > '9') c = getchar();
	int sum = 0;
	while ('0' <= c && c <= '9') sum = sum * 10 + c - 48, c = getchar();
	return sum;
}

inline void inc(int &a, int b) {a += b; if (a >= mod) a -= mod;}

inline bool check(int r, int j, int k)
{
	for (int i = 0; i < vec[r].size(); ++i)
		if (1 + (vec[r][i].first <= j) + (vec[r][i].first <= k) != vec[r][i].second) return 0;
	return 1;
}

int main()
{
	n = gi(); m = gi();
	for (int l, r, x, i = 1; i <= m; ++i) {
		l = gi(); r = gi(); x = gi();
		vec[r].push_back(make_pair(l, x));
	}

	if (check(1, 0, 0)) f[1][0][0] = 3;
	for (int i = 1; i < n; ++i)
		for (int j = 0; j < i; ++j)
			for (int k = 0; k < i; ++k) {
				if (!f[i][j][k]) continue;
				if (check(i + 1, j, k))
					inc(f[i + 1][j][k], f[i][j][k]);
				if (check(i + 1, i, k))
					inc(f[i + 1][i][k], f[i][j][k]);
				if (check(i + 1, j, i))
					inc(f[i + 1][j][i], f[i][j][k]);
			}

	int ans = 0;
	for (int i = 0; i < n; ++i)
		for (int j = 0; j < n; ++j)
			inc(ans, f[n][i][j]);
	printf("%d\n", ans);
	
	return 0;
}

Submission Info

Submission Time
Task E - RGB Sequence
User luogu_bot2
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1236 Byte
Status AC
Exec Time 179 ms
Memory 108928 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 4
AC × 47
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt
Case Name Status Exec Time Memory
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
0_03.txt AC 2 ms 2304 KB
1_00.txt AC 31 ms 106752 KB
1_01.txt AC 30 ms 108800 KB
1_02.txt AC 30 ms 108800 KB
1_03.txt AC 24 ms 71936 KB
1_04.txt AC 33 ms 108800 KB
1_05.txt AC 30 ms 106752 KB
1_06.txt AC 30 ms 108800 KB
1_07.txt AC 14 ms 24832 KB
1_08.txt AC 30 ms 106752 KB
1_09.txt AC 30 ms 108800 KB
1_10.txt AC 31 ms 106752 KB
1_11.txt AC 12 ms 16640 KB
1_12.txt AC 29 ms 104704 KB
1_13.txt AC 30 ms 108800 KB
1_14.txt AC 31 ms 106752 KB
1_15.txt AC 28 ms 92416 KB
1_16.txt AC 34 ms 108800 KB
1_17.txt AC 30 ms 108800 KB
1_18.txt AC 30 ms 106752 KB
1_19.txt AC 22 ms 67840 KB
1_20.txt AC 30 ms 106752 KB
1_21.txt AC 30 ms 108800 KB
1_22.txt AC 32 ms 108800 KB
1_23.txt AC 30 ms 104704 KB
1_24.txt AC 31 ms 108800 KB
1_25.txt AC 30 ms 108800 KB
1_26.txt AC 29 ms 104704 KB
1_27.txt AC 15 ms 33024 KB
1_28.txt AC 31 ms 108800 KB
1_29.txt AC 30 ms 108800 KB
1_30.txt AC 30 ms 106752 KB
1_31.txt AC 29 ms 102656 KB
1_32.txt AC 30 ms 108800 KB
1_33.txt AC 30 ms 108800 KB
1_34.txt AC 30 ms 106752 KB
1_35.txt AC 30 ms 104704 KB
1_36.txt AC 28 ms 104704 KB
1_37.txt AC 29 ms 106752 KB
1_38.txt AC 31 ms 108800 KB
1_39.txt AC 23 ms 71936 KB
1_40.txt AC 179 ms 108928 KB
1_41.txt AC 31 ms 108800 KB
1_42.txt AC 30 ms 108800 KB