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