Submission #1986241


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define FOR(i,a,b) for (int i = (a); i < (b); i++)
#define RFOR(i,b,a) for (int i = (b) - 1; i >= (a); i--)
#define ITER(it,a) for (__typeof(a.begin()) it = a.begin(); it != a.end(); it++)
#define FILL(a,value) memset(a, value, sizeof(a))

#define SZ(a) (int)a.size()
#define ALL(a) a.begin(), a.end()
#define PB push_back
#define MP make_pair

typedef long long LL;
typedef vector<int> VI;
typedef pair<int, int> PII;

const double PI = acos(-1.0);
const int INF = 1000 * 1000 * 1000 + 7;
const LL LINF = INF * (LL) INF;

const int MAX = 1010;

VI g[MAX];
int IN[MAX];
int OUT[MAX];
bool U[MAX];

int L, R;

void no()
{
	cout<<"NO"<<endl;
	exit(0);
}

void dfs(int x)
{
	U[x] = true;

	if (x & 1)
	{
		if (IN[x] > OUT[x]) no();
		R += IN[x] - OUT[x];
	}
	else
	{
		if (OUT[x] > IN[x]) no();
		L += OUT[x] - IN[x];
	}

	FOR (i, 0, SZ(g[x]))
	{
		int to = g[x][i];
		if (U[to]) continue;
		dfs(to);
	}
}

int main()
{
	//freopen("in.txt", "r", stdin);
	//ios::sync_with_stdio(false); cin.tie(0);

	int n, m;
	scanf("%d%d", &n, &m);
	FOR (i, 0, n)
	{
		int a, b, c, d;
		scanf("%d%d%d%d", &a, &b, &c, &d);

		int x, y;
		if (d == 0) y = b * 2;
		else y = d * 2 + 1;

		if (c == 0) x = a * 2 + 1;
		else x = c * 2;

	//	cout<<x<<' '<<y<<endl;
	//	cout<<a<<' '<<b<<' '<<c<<' '<<d<<endl;

		g[x].PB(y);
		g[y].PB(x);
		OUT[x]++;
		IN[y]++;
	}

	int c1 = 0, c2 = 0;
	FOR (i, 0, MAX)
	{
		if (U[i]) continue;
		if (SZ(g[i]) == 0) continue;
		L = R = 0;

		dfs(i);

		c1++;
		if (L == 0) c2++;
	}
	//cout<<"*"<<endl;
	if (c2) no();
	cout<<"YES"<<endl;

}

Submission Info

Submission Time
Task E - Jigsaw
User vjudge3
Language C++14 (GCC 5.4.1)
Score 1200
Code Size 1595 Byte
Status AC
Exec Time 29 ms
Memory 1792 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:66:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &m);
                       ^
./Main.cpp:70:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d%d", &a, &b, &c, &d);
                                    ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1200 / 1200
Status
AC × 3
AC × 84
Set Name Test Cases
Sample sample1.txt, sample2.txt, sample3.txt
All sample1.txt, sample2.txt, sample3.txt, a1.txt, a2.txt, a3.txt, b1.txt, b10.txt, b101.txt, b102.txt, b103.txt, b104.txt, b105.txt, b106.txt, b107.txt, b108.txt, b109.txt, b11.txt, b110.txt, b111.txt, b112.txt, b113.txt, b114.txt, b115.txt, b116.txt, b117.txt, b118.txt, b119.txt, b12.txt, b13.txt, b14.txt, b15.txt, b2.txt, b200.txt, b201.txt, b202.txt, b203.txt, b204.txt, b205.txt, b206.txt, b207.txt, b208.txt, b209.txt, b210.txt, b211.txt, b212.txt, b213.txt, b214.txt, b215.txt, b216.txt, b217.txt, b218.txt, b219.txt, b3.txt, b300.txt, b301.txt, b302.txt, b303.txt, b304.txt, b305.txt, b306.txt, b307.txt, b308.txt, b309.txt, b310.txt, b311.txt, b4.txt, b5.txt, b6.txt, b7.txt, b8.txt, b9.txt, c1.txt, c2.txt, c3.txt, c4.txt, c5.txt, d1.txt, d2.txt, d3.txt, d4.txt, sample1.txt, sample2.txt, sample3.txt
Case Name Status Exec Time Memory
a1.txt AC 1 ms 256 KB
a2.txt AC 4 ms 384 KB
a3.txt AC 28 ms 1536 KB
b1.txt AC 1 ms 256 KB
b10.txt AC 7 ms 512 KB
b101.txt AC 28 ms 1536 KB
b102.txt AC 29 ms 1536 KB
b103.txt AC 29 ms 1536 KB
b104.txt AC 28 ms 1536 KB
b105.txt AC 28 ms 1536 KB
b106.txt AC 13 ms 768 KB
b107.txt AC 26 ms 1408 KB
b108.txt AC 29 ms 1536 KB
b109.txt AC 25 ms 1408 KB
b11.txt AC 19 ms 1152 KB
b110.txt AC 28 ms 1536 KB
b111.txt AC 29 ms 1664 KB
b112.txt AC 29 ms 1536 KB
b113.txt AC 28 ms 1536 KB
b114.txt AC 29 ms 1536 KB
b115.txt AC 13 ms 768 KB
b116.txt AC 26 ms 1152 KB
b117.txt AC 28 ms 1536 KB
b118.txt AC 22 ms 1152 KB
b119.txt AC 26 ms 1280 KB
b12.txt AC 20 ms 1024 KB
b13.txt AC 28 ms 1536 KB
b14.txt AC 28 ms 1536 KB
b15.txt AC 28 ms 1536 KB
b2.txt AC 4 ms 384 KB
b200.txt AC 28 ms 1536 KB
b201.txt AC 28 ms 1536 KB
b202.txt AC 28 ms 1408 KB
b203.txt AC 28 ms 1536 KB
b204.txt AC 28 ms 1536 KB
b205.txt AC 28 ms 1536 KB
b206.txt AC 28 ms 1664 KB
b207.txt AC 28 ms 1664 KB
b208.txt AC 28 ms 1664 KB
b209.txt AC 27 ms 1536 KB
b210.txt AC 28 ms 1536 KB
b211.txt AC 28 ms 1536 KB
b212.txt AC 28 ms 1536 KB
b213.txt AC 28 ms 1536 KB
b214.txt AC 28 ms 1536 KB
b215.txt AC 28 ms 1536 KB
b216.txt AC 28 ms 1664 KB
b217.txt AC 28 ms 1664 KB
b218.txt AC 28 ms 1664 KB
b219.txt AC 28 ms 1536 KB
b3.txt AC 28 ms 1792 KB
b300.txt AC 27 ms 1408 KB
b301.txt AC 27 ms 1408 KB
b302.txt AC 19 ms 1128 KB
b303.txt AC 19 ms 1000 KB
b304.txt AC 27 ms 1408 KB
b305.txt AC 27 ms 1408 KB
b306.txt AC 20 ms 1272 KB
b307.txt AC 19 ms 984 KB
b308.txt AC 25 ms 1408 KB
b309.txt AC 27 ms 1408 KB
b310.txt AC 25 ms 1400 KB
b311.txt AC 24 ms 1660 KB
b4.txt AC 28 ms 1664 KB
b5.txt AC 4 ms 384 KB
b6.txt AC 4 ms 384 KB
b7.txt AC 4 ms 384 KB
b8.txt AC 4 ms 384 KB
b9.txt AC 4 ms 384 KB
c1.txt AC 25 ms 1524 KB
c2.txt AC 25 ms 1592 KB
c3.txt AC 20 ms 1024 KB
c4.txt AC 25 ms 1624 KB
c5.txt AC 13 ms 896 KB
d1.txt AC 28 ms 1536 KB
d2.txt AC 28 ms 1536 KB
d3.txt AC 28 ms 1408 KB
d4.txt AC 22 ms 1280 KB
sample1.txt AC 1 ms 256 KB
sample2.txt AC 1 ms 256 KB
sample3.txt AC 1 ms 256 KB