結果
| 問題 |
No.483 マッチ並べ
|
| コンテスト | |
| ユーザー |
HAHAHA
|
| 提出日時 | 2017-02-13 13:02:24 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 5 ms / 2,000 ms |
| コード長 | 760 bytes |
| コンパイル時間 | 2,169 ms |
| コンパイル使用メモリ | 171,840 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2024-12-29 18:41:17 |
| 合計ジャッジ時間 | 4,071 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 53 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
typedef pair<int, int> P;
const int W = 100;
const int MAX = 1e5+100;
vector<int> G[MAX];
int vis[MAX];
int cnt;
void dfs(int a, int b){
vis[a] = 1;
for(int x : G[a]){
if(x == b)
continue;
if(vis[x]){
cnt++;
continue;
}
dfs(x, a);
}
}
int main() {
int n;
cin >> n;
int r1, c1, r2, c2;
vector<P> edge;
for(int i=0; i<n; i++){
cin >> r1 >> c1 >> r2 >> c2;
r1--; c1--; r2--; c2--;
int a = r1 * W + c1;
int b = r2 * W + c2;
G[a].push_back(b);
G[b].push_back(a);
edge.push_back(P(a, b));
}
for(int i=0;i<MAX;i++){
if(vis[i])
continue;
cnt = 0;
dfs(i, -1);
if (cnt >= 4) {
cout << "NO" << endl;
return 0;
}
}
cout << "YES" << endl;
return 0;
}
HAHAHA