Submission #1868385


Source Code Expand

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;

inline int getint()
{
	static char c;
	while ((c = getchar()) < '0' || c > '9');

	int res = c - '0';
	while ((c = getchar()) >= '0' && c <= '9')
		res = res * 10 + c - '0';
	return res;
}

const int MaxN = 100000;
const int MaxM = 200;
const int MaxNV = MaxM * 2;

int n, m;
int in[MaxNV + 1], out[MaxNV + 1];

int ufs[MaxNV + 1];

int ufs_find(int v)
{
	return ufs[v] == v ? v : ufs[v] = ufs_find(ufs[v]);
}

int main()
{
	cin >> n >> m;

	for (int u = 1; u <= m + m; ++u)
		ufs[u] = u;

	for (int i = 0; i < n; ++i)
	{
		int a = getint(), b = getint();
		int c = getint(), d = getint();

		int u = c ? c + m : a;
		int v = d ? d : m + b;

		++out[u], ++in[v];

		ufs[ufs_find(v)] = ufs_find(u);
	}

	bool ok = true;

	for (int u = 1; u <= m; ++u)
		if (out[u] < in[u])
			ok = false;

	for (int v = 1; v <= m; ++v)
		if (out[v + m] > in[v + m])
			ok = false;

	for (int u = 1; u <= m + m; ++u)
		if (ufs[u] == u && (in[u] || out[u]))
		{
			bool all = true;
			for (int v = 1; v <= m + m; ++v)
				if (ufs_find(v) == u)
					all &= in[v] == out[v];

			if (all)
				ok = false;
		}

	puts(ok ? "YES" : "NO");

	return 0;
}

Submission Info

Submission Time
Task E - Jigsaw
User InvUsr
Language C++14 (GCC 5.4.1)
Score 1200
Code Size 1320 Byte
Status AC
Exec Time 13 ms
Memory 256 KiB

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 KiB
a2.txt AC 2 ms 256 KiB
a3.txt AC 12 ms 256 KiB
b1.txt AC 1 ms 256 KiB
b10.txt AC 3 ms 256 KiB
b101.txt AC 12 ms 256 KiB
b102.txt AC 12 ms 256 KiB
b103.txt AC 12 ms 256 KiB
b104.txt AC 12 ms 256 KiB
b105.txt AC 12 ms 256 KiB
b106.txt AC 6 ms 256 KiB
b107.txt AC 11 ms 256 KiB
b108.txt AC 12 ms 256 KiB
b109.txt AC 11 ms 256 KiB
b11.txt AC 8 ms 256 KiB
b110.txt AC 12 ms 256 KiB
b111.txt AC 12 ms 256 KiB
b112.txt AC 12 ms 256 KiB
b113.txt AC 12 ms 256 KiB
b114.txt AC 12 ms 256 KiB
b115.txt AC 6 ms 256 KiB
b116.txt AC 11 ms 256 KiB
b117.txt AC 12 ms 256 KiB
b118.txt AC 10 ms 256 KiB
b119.txt AC 11 ms 256 KiB
b12.txt AC 9 ms 256 KiB
b13.txt AC 12 ms 256 KiB
b14.txt AC 12 ms 256 KiB
b15.txt AC 12 ms 256 KiB
b2.txt AC 2 ms 256 KiB
b200.txt AC 12 ms 256 KiB
b201.txt AC 12 ms 256 KiB
b202.txt AC 12 ms 256 KiB
b203.txt AC 12 ms 256 KiB
b204.txt AC 12 ms 256 KiB
b205.txt AC 12 ms 256 KiB
b206.txt AC 13 ms 256 KiB
b207.txt AC 12 ms 256 KiB
b208.txt AC 12 ms 256 KiB
b209.txt AC 11 ms 256 KiB
b210.txt AC 12 ms 256 KiB
b211.txt AC 12 ms 256 KiB
b212.txt AC 12 ms 256 KiB
b213.txt AC 12 ms 256 KiB
b214.txt AC 12 ms 256 KiB
b215.txt AC 13 ms 256 KiB
b216.txt AC 12 ms 256 KiB
b217.txt AC 12 ms 256 KiB
b218.txt AC 11 ms 256 KiB
b219.txt AC 11 ms 256 KiB
b3.txt AC 12 ms 256 KiB
b300.txt AC 11 ms 256 KiB
b301.txt AC 11 ms 256 KiB
b302.txt AC 6 ms 256 KiB
b303.txt AC 6 ms 256 KiB
b304.txt AC 11 ms 256 KiB
b305.txt AC 11 ms 256 KiB
b306.txt AC 7 ms 256 KiB
b307.txt AC 6 ms 256 KiB
b308.txt AC 9 ms 256 KiB
b309.txt AC 11 ms 256 KiB
b310.txt AC 7 ms 256 KiB
b311.txt AC 7 ms 256 KiB
b4.txt AC 12 ms 256 KiB
b5.txt AC 2 ms 256 KiB
b6.txt AC 2 ms 256 KiB
b7.txt AC 2 ms 256 KiB
b8.txt AC 2 ms 256 KiB
b9.txt AC 2 ms 256 KiB
c1.txt AC 8 ms 256 KiB
c2.txt AC 8 ms 256 KiB
c3.txt AC 6 ms 256 KiB
c4.txt AC 8 ms 256 KiB
c5.txt AC 4 ms 256 KiB
d1.txt AC 12 ms 256 KiB
d2.txt AC 12 ms 256 KiB
d3.txt AC 12 ms 256 KiB
d4.txt AC 10 ms 256 KiB
sample1.txt AC 1 ms 256 KiB
sample2.txt AC 1 ms 256 KiB
sample3.txt AC 1 ms 256 KiB