結果
問題 | 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; }