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
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
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 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