Submission #3016102


Source Code Expand

#include <bits/stdc++.h>

#define For(i, l, r) for(register int i = (l), i##end = (int)(r); i <= i##end; ++i)
#define Fordown(i, r, l) for(register int i = (r), i##end = (int)(l); i >= i##end; --i)
#define Set(a, v) memset(a, v, sizeof(a))
#define Cpy(a, b) memcpy(a, b, sizeof(a))
#define debug(x) cout << #x << ": " << x << endl
#define DEBUG(...) fprintf(stderr, __VA_ARGS__)

using namespace std;

inline bool chkmin(int &a, int b) {return b < a ? a = b, 1 : 0;}
inline bool chkmax(int &a, int b) {return b > a ? a = b, 1 : 0;}

inline int read() {
    int x = 0, fh = 1; char ch = getchar();
    for (; !isdigit(ch); ch = getchar()) if (ch == '-') fh = -1;
    for (; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + (ch ^ 48);
    return x * fh;
}

void File() {
#ifdef zjp_shadow
	freopen ("E.in", "r", stdin);
	freopen ("E.out", "w", stdout);
#endif
}

const int N = 310, Mod = 1e9 + 7;

int dp[N][N][N];
inline void Add(int &a, int b) {
	if ((a += b) >= Mod) a -= Mod;
}

int n, m;
typedef pair<int, int> PII;
#define fir first
#define sec second
#define mp make_pair
vector<PII> V[N];

int main () {

	File();

	n = read(); m = read();

	For (i, 1, m) { int l = read(), r = read(), x = read(); V[r].push_back(mp(l, x)); }

	dp[0][0][0] = 1;
	int ans = 0;
	For (i, 0, n) For (j, 0, i) For(k, 0, i) {
		if (!dp[i][j][k]) continue ;
		for (PII lim : V[i]) {
			int l = lim.fir, x = lim.sec, times = 1;
			if (l <= j) ++ times;
			if (l <= k) ++ times;
			if (times != x) { dp[i][j][k] = 0; break; }
		}
		if (!dp[i][j][k]) continue ;
		if (i == n) { Add(ans, dp[i][j][k]); }
		Add(dp[i + 1][i][k], dp[i][j][k]);
		Add(dp[i + 1][i][j], dp[i][j][k]);
		Add(dp[i + 1][j][k], dp[i][j][k]);
	}
	printf ("%d\n", ans);

    return 0;
}

Submission Info

Submission Time
Task E - RGB Sequence
User zjp_shadow
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1812 Byte
Status AC
Exec Time 82 ms
Memory 113024 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 32 ms 110848 KB
1_01.txt AC 32 ms 110848 KB
1_02.txt AC 33 ms 112896 KB
1_03.txt AC 26 ms 73984 KB
1_04.txt AC 33 ms 112896 KB
1_05.txt AC 32 ms 110848 KB
1_06.txt AC 33 ms 112896 KB
1_07.txt AC 16 ms 26880 KB
1_08.txt AC 32 ms 110848 KB
1_09.txt AC 32 ms 110848 KB
1_10.txt AC 32 ms 110848 KB
1_11.txt AC 14 ms 18688 KB
1_12.txt AC 31 ms 108800 KB
1_13.txt AC 33 ms 112896 KB
1_14.txt AC 33 ms 110848 KB
1_15.txt AC 30 ms 96512 KB
1_16.txt AC 33 ms 110848 KB
1_17.txt AC 32 ms 112896 KB
1_18.txt AC 32 ms 110848 KB
1_19.txt AC 24 ms 69888 KB
1_20.txt AC 32 ms 110848 KB
1_21.txt AC 33 ms 112896 KB
1_22.txt AC 33 ms 112896 KB
1_23.txt AC 32 ms 108800 KB
1_24.txt AC 32 ms 110848 KB
1_25.txt AC 32 ms 112896 KB
1_26.txt AC 31 ms 108800 KB
1_27.txt AC 18 ms 35072 KB
1_28.txt AC 32 ms 110848 KB
1_29.txt AC 32 ms 112896 KB
1_30.txt AC 32 ms 110848 KB
1_31.txt AC 31 ms 106752 KB
1_32.txt AC 32 ms 112896 KB
1_33.txt AC 32 ms 113024 KB
1_34.txt AC 32 ms 110848 KB
1_35.txt AC 32 ms 108800 KB
1_36.txt AC 31 ms 108800 KB
1_37.txt AC 32 ms 110848 KB
1_38.txt AC 33 ms 112896 KB
1_39.txt AC 25 ms 76032 KB
1_40.txt AC 82 ms 112896 KB
1_41.txt AC 33 ms 112896 KB
1_42.txt AC 32 ms 112896 KB