Submission #3425909
Source Code Expand
#include<iostream>
#include<cstdio>
#include<vector>
#define p 1000000007
using namespace std;
int n,m,dp[330][330][330];
long long ans;
struct evol{int l,xi;};
vector<evol> v[303];
bool check(int x,int y,int z,int d)
{
if(x&&x==y||y&&y==z||x&&x==z) return 0;
if(x>y) swap(x,y);
if(z<y) swap(z,y);
if(y<x) swap(x,y);
bool fl=1;
for(int i=0;i<v[d].size();i++)
{
if(v[d][i].xi==1) fl&=(x<v[d][i].l)&&(y<v[d][i].l)&&(z>=v[d][i].l);
if(v[d][i].xi==2) fl&=(x<v[d][i].l)&&(y>=v[d][i].l);
if(v[d][i].xi==3) fl&=(x>=v[d][i].l);
}
return fl;
}
void add(int x,int y,int z,int k)
{
(dp[k][y][z]+=dp[x][y][z])%=p;
(dp[x][k][z]+=dp[x][y][z])%=p;
(dp[x][y][k]+=dp[x][y][z])%=p;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
v[y].push_back((evol){x,z});
}
dp[1][0][0]=dp[0][1][0]=dp[0][0][1]=1;
for(int k=1;k<n;k++)
for(int i=0;i<=k;i++)
for(int j=0;j<=k;j++)
{
if(check(i,j,k,k)) add(i,j,k,k+1);
if(check(i,k,j,k)) add(i,k,j,k+1);
if(check(k,i,j,k)) add(k,i,j,k+1);
}
for(int i=0;i<=n;i++)
for(int j=0;j<=n;j++)
{
if(check(i,j,n,n)) (ans+=dp[i][j][n])%=p;
if(check(i,n,j,n)) (ans+=dp[i][n][j])%=p;
if(check(n,i,j,n)) (ans+=dp[n][i][j])%=p;
}
printf("%lld\n",ans);
return 0;
}
Submission Info
Submission Time
2018-10-18 15:50:12+0900
Task
E - RGB Sequence
User
icynias
Language
C++14 (GCC 5.4.1)
Score
800
Code Size
1340 Byte
Status
AC
Exec Time
391 ms
Memory
129152 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:33:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&n,&m);
^
./Main.cpp:37:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d",&x,&y,&z);
^
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
2 ms
2304 KB
1_00.txt
AC
331 ms
126848 KB
1_01.txt
AC
308 ms
129152 KB
1_02.txt
AC
340 ms
129152 KB
1_03.txt
AC
336 ms
129024 KB
1_04.txt
AC
349 ms
129024 KB
1_05.txt
AC
312 ms
127104 KB
1_06.txt
AC
340 ms
129152 KB
1_07.txt
AC
322 ms
127104 KB
1_08.txt
AC
348 ms
126976 KB
1_09.txt
AC
341 ms
129152 KB
1_10.txt
AC
325 ms
127104 KB
1_11.txt
AC
322 ms
127104 KB
1_12.txt
AC
344 ms
124928 KB
1_13.txt
AC
349 ms
129152 KB
1_14.txt
AC
343 ms
127104 KB
1_15.txt
AC
361 ms
129152 KB
1_16.txt
AC
343 ms
129024 KB
1_17.txt
AC
321 ms
129152 KB
1_18.txt
AC
358 ms
127104 KB
1_19.txt
AC
355 ms
127104 KB
1_20.txt
AC
355 ms
127104 KB
1_21.txt
AC
350 ms
129152 KB
1_22.txt
AC
370 ms
129152 KB
1_23.txt
AC
357 ms
129024 KB
1_24.txt
AC
372 ms
129152 KB
1_25.txt
AC
353 ms
129152 KB
1_26.txt
AC
349 ms
125056 KB
1_27.txt
AC
367 ms
129152 KB
1_28.txt
AC
359 ms
129152 KB
1_29.txt
AC
363 ms
129152 KB
1_30.txt
AC
373 ms
127104 KB
1_31.txt
AC
342 ms
126976 KB
1_32.txt
AC
341 ms
129152 KB
1_33.txt
AC
361 ms
129152 KB
1_34.txt
AC
370 ms
127104 KB
1_35.txt
AC
372 ms
127104 KB
1_36.txt
AC
282 ms
124928 KB
1_37.txt
AC
353 ms
127232 KB
1_38.txt
AC
390 ms
129152 KB
1_39.txt
AC
363 ms
129152 KB
1_40.txt
AC
391 ms
129152 KB
1_41.txt
AC
277 ms
129152 KB
1_42.txt
AC
247 ms
127232 KB