結果
問題 | No.483 マッチ並べ |
ユーザー |
![]() |
提出日時 | 2017-02-10 23:09:28 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,047 bytes |
コンパイル時間 | 3,742 ms |
コンパイル使用メモリ | 173,664 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-29 11:00:26 |
合計ジャッジ時間 | 3,132 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 53 |
コンパイルメッセージ
In file included from /usr/include/string.h:535, from /usr/include/c++/11/cstring:42, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:48, from main.cpp:1: In function ‘void* memset(void*, int, size_t)’, inlined from ‘int main()’ at main.cpp:18:9: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:59:33: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=] 59 | return __builtin___memset_chk (__dest, __ch, __len, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ 60 | __glibc_objsize0 (__dest)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int> P;#define F first#define S secondint main(){int n;cin>>n;P p[n][2];map<P,vector<P> > m;for(int i=0;i<n;i++){cin>>p[i][0].F>>p[i][0].S>>p[i][1].F>>p[i][1].S;m[p[i][0]].push_back(P(i,0));m[p[i][1]].push_back(P(i,1));}bool u[n],f=1;memset(u,0,sizeof(u));for(int i=0;i<n;i++){//if(u[i]) continue;bool ff=0;for(int j=0;j<2;j++){bool v[n],w[n],fff=1;memset(v,0,sizeof(v));memset(w,0,sizeof(w));w[i]=j;queue<int> q;q.push(i);while(!q.empty()){int x=q.front();q.pop();if(v[x]) continue;v[x]=1;for(int k=0;k<(int)m[p[x][w[x]]].size();k++){P np=m[p[x][w[x]]][k];if(np.F==x) continue;if(v[np.F]){if(w[np.F]==np.S) fff=0;}else{w[np.F]=!np.S;}q.push(np.F);}}//for(int k=0;k<n;k++) u[k]|=v[k];ff|=fff;}f&=ff;//cout<<i<<" "<<f<<endl;}cout<<(f?"YES":"NO")<<endl;return 0;}