結果
問題 |
No.483 マッチ並べ
|
ユーザー |
![]() |
提出日時 | 2017-08-17 06:39:55 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,623 bytes |
コンパイル時間 | 1,757 ms |
コンパイル使用メモリ | 178,280 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-13 14:07:46 |
合計ジャッジ時間 | 3,590 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 41 WA * 12 |
コンパイルメッセージ
main.cpp:18:1: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type] 18 | main(){ | ^~~~
ソースコード
#include <bits/stdc++.h> #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define FORR(i,a,b) for (int i=(a);i>=(b);i--) #define pb push_back using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<pii,int> ti; typedef vector<int> vi; typedef set<int> si; const int inf = 1e9; const int mod = 1e9+7; vector<ti> sat[200][2][2]; int m[2][200]; vector<pii> li[12544]; main(){ cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; FOR(i, 0, n){ int a, b; FOR(j, 0, 2){ cin >> a >> b; a = a * 112 + b; m[j][i] = a; li[a].pb(pii(i, j)); } FOR(j, 0, 2){ FOR(k, 0, 2){ sat[i][j][k].pb(ti(pii(i, 1-j), 1-k)); } } } FOR(i, 0, 12544){ FOR(j, 0, li[i].size()){ int f, s; f = li[i][j].first; s = li[i][j].second; FOR(k, 0, li[i].size()){ if(j==k)continue; int _f, _s; _f = li[i][k].first; _s = li[i][k].second; sat[f][s][1].pb(ti(pii(_f, _s), 0)); } } } set<ti> y; queue<ti> q; ti bad, tmp; vector<ti> tmpv; FOR(i, 0, n)FOR(j, 0, 2)FOR(k, 0, 2){ y.clear(); q.push(ti(pii(i, j), k)); bad = ti(pii(i, j), k-1); while(!q.empty()){ tmp = q.front(); q.pop(); y.insert(tmp); if(tmp == bad){ cout << "NO" << endl; return 0; } tmpv = sat[tmp.first.first][tmp.first.second][tmp.second]; for(vector<ti>::iterator itr = tmpv.begin(); itr != tmpv.end(); itr++){ if(y.find(*itr) == y.end()){ q.push(*itr); } } } } cout << "YES" << endl; }