Submission #3422041


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

#define INF 100000000
#define YJ 1145141919
#define INF_INT_MAX 2147483647
#define INF_LL_MAX 9223372036854775807
#define EPS 1e-10
#define MOD 1000000007
#define Pi acos(-1)
#define LL long long
#define ULL unsigned long long
#define LD long double

#define int long long

#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n) FOR(i,0,n)
#define ALL(a)  begin((a)), end((a))
#define RALL(a) (a).rbegin(), (a).rend()
#define PB push_back
#define MP make_pair
#define SZ(a) int((a).size())

const int MAX_N = 305;
const int MAX_M = 305;

int N, M;
int dp[MAX_N][MAX_N][MAX_N];

class Strict {
public:
  int l, x;
};

vector<Strict> S[MAX_N];

signed main()
{
  cin >> N >> M;
  REP(i,M) {
    Strict s;
    int r; cin >> s.l >> r >> s.x;
    S[r].push_back(s);
  }

  memset(dp,0,sizeof(dp));

  dp[0][0][0] = 1;

  REP(r,N+1) {
    REP(g,N+1) {
      REP(b,N+1) {
        if(dp[r][g][b] == 0) {
          continue;
        }
        
        int p = max(r, max(g, b));

        for(const auto& s : S[p]) {
          int cnt = (s.l <= r) + (s.l <= g) + (s.l <= b);
          if(cnt != s.x) {
            dp[r][g][b] = 0;
            break;
          }
        }

				dp[p + 1][g][b] = (dp[p + 1][g][b] + dp[r][g][b]) % MOD;
				dp[r][p + 1][b] = (dp[r][p + 1][b] + dp[r][g][b]) % MOD;
				dp[r][g][p + 1] = (dp[r][g][p + 1] + dp[r][g][b]) % MOD;
      }
    }
  }

  int ans = 0;
  REP(i,N) {
    REP(j,N) {
      ans += dp[N][i][j] + dp[i][N][j] + dp[i][j][N];
      ans %= MOD;
    }
  }

  cout << ans << endl;

  return 0;
}

Submission Info

Submission Time
Task E - RGB Sequence
User takoshi
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1668 Byte
Status AC
Exec Time 418 ms
Memory 221952 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 64 ms 221952 KB
0_01.txt AC 61 ms 221952 KB
0_02.txt AC 61 ms 221952 KB
0_03.txt AC 61 ms 221952 KB
1_00.txt AC 94 ms 221952 KB
1_01.txt AC 89 ms 221952 KB
1_02.txt AC 88 ms 221952 KB
1_03.txt AC 98 ms 221952 KB
1_04.txt AC 100 ms 221952 KB
1_05.txt AC 83 ms 221952 KB
1_06.txt AC 81 ms 221952 KB
1_07.txt AC 80 ms 221952 KB
1_08.txt AC 88 ms 221952 KB
1_09.txt AC 82 ms 221952 KB
1_10.txt AC 88 ms 221952 KB
1_11.txt AC 79 ms 221952 KB
1_12.txt AC 84 ms 221952 KB
1_13.txt AC 83 ms 221952 KB
1_14.txt AC 89 ms 221952 KB
1_15.txt AC 88 ms 221952 KB
1_16.txt AC 93 ms 221952 KB
1_17.txt AC 82 ms 221952 KB
1_18.txt AC 83 ms 221952 KB
1_19.txt AC 80 ms 221952 KB
1_20.txt AC 88 ms 221952 KB
1_21.txt AC 81 ms 221952 KB
1_22.txt AC 90 ms 221952 KB
1_23.txt AC 88 ms 221952 KB
1_24.txt AC 88 ms 221952 KB
1_25.txt AC 81 ms 221952 KB
1_26.txt AC 84 ms 221952 KB
1_27.txt AC 81 ms 221952 KB
1_28.txt AC 86 ms 221952 KB
1_29.txt AC 81 ms 221952 KB
1_30.txt AC 84 ms 221952 KB
1_31.txt AC 83 ms 221952 KB
1_32.txt AC 83 ms 221952 KB
1_33.txt AC 81 ms 221952 KB
1_34.txt AC 84 ms 221952 KB
1_35.txt AC 84 ms 221952 KB
1_36.txt AC 79 ms 221952 KB
1_37.txt AC 79 ms 221952 KB
1_38.txt AC 85 ms 221952 KB
1_39.txt AC 80 ms 221952 KB
1_40.txt AC 418 ms 221952 KB
1_41.txt AC 98 ms 221952 KB
1_42.txt AC 80 ms 221952 KB