Submission #3007876
Source Code Expand
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> typedef long long lint; const int N=302; const int mod=1e9+7; int n,m,dp[N][N]; struct limit{ int l,r,x; bool operator < (const limit b) const { return r<b.r; } }lt[N]; inline void twk(int &x){ if(x>=mod) x-=mod; } inline int nxi(){ int x=0; char c; while((c=getchar())>'9'||c<'0'); while(x=x*10+c-48,(c=getchar())>='0'&&c<='9'); return x; } int main(){ #ifndef ONLINE_JUDGE // freopen("a.in","r",stdin); #endif n=nxi(),m=nxi(); for(int i=1;i<=m;++i){ lt[i].l=nxi(); lt[i].r=nxi(); lt[i].x=nxi(); } std::sort(lt+1,lt+m+1); dp[0][0]=1; for(int q=1,i=1;i<n;++i){ int p=i&1; while(lt[q].r<i&&q<=m) ++q; for(int j=i;j>=0;--j){ for(int k=i;k>=j;--k){ for(int tp=q;lt[tp].r==i;++tp){ if((k>=lt[tp].l)+(j>=lt[tp].l)+1!=lt[tp].x){ dp[j][k]=0; break; } } twk(dp[j][i]+=dp[j][k]); if(j!=k) twk(dp[k][i]+=dp[j][k]); } } } for(int j=0;j<=n;++j){ for(int k=j;k<=n;++k){ for(int tp=m;lt[tp].r==n;--tp){ if((k>=lt[tp].l)+(j>=lt[tp].l)+1!=lt[tp].x){ dp[j][k]=0; break; } } } } int ans=0; for(int i=0;i<=n;++i){ for(int j=i;j<=n;++j){ if(i==0&&j==0) ans=(ans+(lint)dp[i][j]*3)%mod; else ans=(ans+(lint)dp[i][j]*6)%mod; } } printf("%d\n",ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - RGB Sequence |
User | synx |
Language | C++14 (GCC 5.4.1) |
Score | 800 |
Code Size | 1411 Byte |
Status | AC |
Exec Time | 49 ms |
Memory | 640 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 800 / 800 | ||||
Status |
|
|
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 | 1 ms | 256 KB |
1_00.txt | AC | 19 ms | 640 KB |
1_01.txt | AC | 16 ms | 640 KB |
1_02.txt | AC | 17 ms | 640 KB |
1_03.txt | AC | 20 ms | 640 KB |
1_04.txt | AC | 21 ms | 640 KB |
1_05.txt | AC | 16 ms | 640 KB |
1_06.txt | AC | 17 ms | 640 KB |
1_07.txt | AC | 16 ms | 640 KB |
1_08.txt | AC | 20 ms | 640 KB |
1_09.txt | AC | 17 ms | 640 KB |
1_10.txt | AC | 16 ms | 640 KB |
1_11.txt | AC | 16 ms | 640 KB |
1_12.txt | AC | 16 ms | 640 KB |
1_13.txt | AC | 17 ms | 640 KB |
1_14.txt | AC | 17 ms | 640 KB |
1_15.txt | AC | 21 ms | 640 KB |
1_16.txt | AC | 20 ms | 640 KB |
1_17.txt | AC | 16 ms | 640 KB |
1_18.txt | AC | 17 ms | 640 KB |
1_19.txt | AC | 17 ms | 640 KB |
1_20.txt | AC | 19 ms | 640 KB |
1_21.txt | AC | 17 ms | 640 KB |
1_22.txt | AC | 19 ms | 640 KB |
1_23.txt | AC | 20 ms | 640 KB |
1_24.txt | AC | 18 ms | 640 KB |
1_25.txt | AC | 17 ms | 640 KB |
1_26.txt | AC | 17 ms | 640 KB |
1_27.txt | AC | 18 ms | 640 KB |
1_28.txt | AC | 21 ms | 640 KB |
1_29.txt | AC | 19 ms | 640 KB |
1_30.txt | AC | 19 ms | 640 KB |
1_31.txt | AC | 20 ms | 640 KB |
1_32.txt | AC | 17 ms | 640 KB |
1_33.txt | AC | 19 ms | 640 KB |
1_34.txt | AC | 19 ms | 640 KB |
1_35.txt | AC | 19 ms | 640 KB |
1_36.txt | AC | 16 ms | 640 KB |
1_37.txt | AC | 19 ms | 640 KB |
1_38.txt | AC | 19 ms | 640 KB |
1_39.txt | AC | 19 ms | 640 KB |
1_40.txt | AC | 49 ms | 640 KB |
1_41.txt | AC | 17 ms | 640 KB |
1_42.txt | AC | 17 ms | 640 KB |