結果
| 問題 |
No.483 マッチ並べ
|
| コンテスト | |
| ユーザー |
ikd
|
| 提出日時 | 2017-02-10 23:57:23 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 985 bytes |
| コンパイル時間 | 1,100 ms |
| コンパイル使用メモリ | 77,836 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-12-29 11:23:45 |
| 合計ジャッジ時間 | 2,487 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 41 WA * 12 |
ソースコード
#include<iostream>
#include<vector>
#include<map>
using namespace std;
typedef pair<int, int> pii;
map<pii, vector<pii>> g;
int N;
map<pii, int> used;
int x[101], y[101];
bool rec(int p, int q, int i, int j){
used[pii(i, j)]=1;
bool ret=true;
for(pii z: g[pii(i, j)]){
//cout<<p<<" "<<q<<" "<< i<<" "<<j<<" "<<z.first<<" "<<z.second<< endl;
if(z.first==p&&z.second==q) continue;
if(used[pii(z.first, z.second)]) return false;
ret&=rec(i, j, z.first, z.second);
}
return ret;
}
int main(){
cin>> N;
for(int i=0; i<N; i++){
int a, b, c, d;
cin>> a>> b>> c>> d;
//a--; b--; c--; d--;
g[pii(a, b)].push_back(pii(c, d));
g[pii(c, d)].push_back(pii(a, b));
x[i]=a; y[i]=b;
}
bool ok=true;
for(int i=0; i<N; i++){
if(used[pii(x[i], y[i])]==1) continue;
ok&=rec(-1, -1, x[i], y[i]);
}
if(ok){
cout<< "YES"<< endl;
}else{
cout<< "NO"<< endl;
}
return 0;
}
ikd