提出 #4673262


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
#define _MACRO(_1, _2, _3, NAME, ...) NAME
#define _repl(i,a,b) for(int i=(int)(a);i<(int)(b);i++)
#define _rep(i,n) _repl(i,0,n)
#define rep(...) _MACRO(__VA_ARGS__, _repl, _rep)(__VA_ARGS__)
#define pb push_back
#define all(x) begin(x),end(x)
#define uniq(x) sort(all(x)),(x).erase(unique(all(x)),end(x))
#ifdef LOCAL
#define dbg(...) _dbg(#__VA_ARGS__, __VA_ARGS__)
void _dbg(string){cerr<<endl;}
template<class H,class... T> void _dbg(string s,H h,T... t){int l=s.find(',');cerr<<s.substr(0,l)<<" = "<<h<<", ";_dbg(s.substr(l+1),t...);}
template<class T,class U> ostream& operator<<(ostream &o, const pair<T,U> &p){o<<"("<<p.first<<","<<p.second<<")";return o;}
template<class T> ostream& operator<<(ostream &o, const vector<T> &v){o<<"[";for(T t:v){o<<t<<",";}o<<"]";return o;}
#else
#define dbg(...) {}
#endif

set<int> cur;

set<int> hoge[2];

set<int> g[100005];

const int OK = 2000000;
const int NG = -1;

int dfs(int v, int from = -1){
  cur.insert(v);

  for(auto to : g[v]) if(to != from){
    int r = -1;
    if(cur.count(to) == 1) {
      r = to;
    }
    else {
      r = dfs(to, v);
    }
    if(r == OK){ return OK; }
    if(r > -1){
      hoge[0].insert(v);
      g[v].erase(to);
      g[to].erase(v);
      if(r == v) return OK;
      else return r;
    }
    if(r == NG) return NG;
  }
  return NG;
}

bool solve(){
  int n,m;
  cin>>n>>m;
  rep(i,m){
    int a,b;
    cin>>a>>b;
    a--;b--;
    g[a].insert(b);
    g[b].insert(a);
  }

  int cnt = 0;
  rep(i,n){
    while(g[i].size() > 0) {
      cur.clear();
      int r = dfs(i);
      if(r == OK) {
        cnt++;
        swap(hoge[0], hoge[1]);
      }
      else {
        assert(r == NG);
        return false;
      }
    }
  }

  if(cnt == 2) {
    int xx = 0;
    for(auto x : hoge[0]) if(hoge[1].count(x) ==1 ) xx++;
    if(xx>=3) cnt++;
  }

  return cnt >= 3;
}

int main(){
  cout << (solve() ? "Yes" : "No") << endl;
  return 0;
}

提出情報

提出日時
問題 C - Three Circuits
ユーザ tossy
言語 C++14 (GCC 5.4.1)
得点 800
コード長 2058 Byte
結果 AC
実行時間 218 ms
メモリ 22784 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 800 / 800
結果
AC × 3
AC × 62
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 3 ms 4992 KiB
sample_02.txt AC 3 ms 4992 KiB
sample_03.txt AC 3 ms 4992 KiB
test_01.txt AC 40 ms 10112 KiB
test_02.txt AC 12 ms 6400 KiB
test_03.txt AC 3 ms 4992 KiB
test_04.txt AC 183 ms 20352 KiB
test_05.txt AC 53 ms 10112 KiB
test_06.txt AC 131 ms 18176 KiB
test_07.txt AC 3 ms 4992 KiB
test_08.txt AC 3 ms 4992 KiB
test_09.txt AC 218 ms 22784 KiB
test_10.txt AC 207 ms 21760 KiB
test_11.txt AC 80 ms 13056 KiB
test_12.txt AC 77 ms 12160 KiB
test_13.txt AC 85 ms 14464 KiB
test_14.txt AC 76 ms 11392 KiB
test_15.txt AC 92 ms 13696 KiB
test_16.txt AC 101 ms 13568 KiB
test_17.txt AC 59 ms 10624 KiB
test_18.txt AC 90 ms 13440 KiB
test_19.txt AC 100 ms 14976 KiB
test_20.txt AC 149 ms 17024 KiB
test_21.txt AC 100 ms 15104 KiB
test_22.txt AC 60 ms 10624 KiB
test_23.txt AC 3 ms 4992 KiB
test_24.txt AC 3 ms 4992 KiB
test_25.txt AC 3 ms 4992 KiB
test_26.txt AC 3 ms 4992 KiB
test_27.txt AC 121 ms 14464 KiB
test_28.txt AC 104 ms 13568 KiB
test_29.txt AC 93 ms 12800 KiB
test_30.txt AC 81 ms 12416 KiB
test_31.txt AC 135 ms 17664 KiB
test_32.txt AC 101 ms 15232 KiB
test_33.txt AC 120 ms 16128 KiB
test_34.txt AC 156 ms 17024 KiB
test_35.txt AC 121 ms 15360 KiB
test_36.txt AC 101 ms 13952 KiB
test_37.txt AC 104 ms 13056 KiB
test_38.txt AC 105 ms 15104 KiB
test_39.txt AC 3 ms 4992 KiB
test_40.txt AC 183 ms 20096 KiB
test_41.txt AC 125 ms 15872 KiB
test_42.txt AC 89 ms 13440 KiB
test_43.txt AC 142 ms 12288 KiB
test_44.txt AC 165 ms 13184 KiB
test_45.txt AC 136 ms 11904 KiB
test_46.txt AC 146 ms 12544 KiB
test_47.txt AC 172 ms 13440 KiB
test_48.txt AC 123 ms 11392 KiB
test_49.txt AC 170 ms 13440 KiB
test_50.txt AC 172 ms 13696 KiB
test_51.txt AC 160 ms 13184 KiB
test_52.txt AC 148 ms 12544 KiB
test_53.txt AC 40 ms 8448 KiB
test_54.txt AC 41 ms 8832 KiB
test_55.txt AC 88 ms 11136 KiB
test_56.txt AC 61 ms 9728 KiB
test_57.txt AC 124 ms 12160 KiB
test_58.txt AC 59 ms 9856 KiB
test_59.txt AC 109 ms 12672 KiB