Submission #1794861


Source Code Expand

#include<bits/stdc++.h>

using namespace std;

using int64 = long long;
using vi = vector< int >;
using vii = vector< vi >;
const int mod = 1e9 + 7;

struct UnionFind
{
  vector< int > data;

  UnionFind(int sz)
  {
    data.assign(sz, -1);
  }

  bool unite(int x, int y)
  {
    x = find(x), y = find(y);
    if(x == y) return (false);
    if(data[x] > data[y]) swap(x, y);
    data[x] += data[y];
    data[y] = x;
    return (true);
  }

  int find(int k)
  {
    if(data[k] < 0) return (k);
    return (data[k] = find(data[k]));
  }

  int size(int k)
  {
    return (-data[find(k)]);
  }
};

int main()
{
  int N, M;
  vector< pair< int, int > > g[400000];
  int64 fact[500001];
  bool deg[400000] = {};

  fact[0] = 1;
  for(int i = 1; i < 500001; i++) {
    fact[i] = fact[i - 1] * 2 % mod;
  }

  scanf("%d %d", &N, &M);
  UnionFind uf(M);
  int ret = 0;

  for(int i = 0; i < M; i++) {
    int a, b;
    scanf("%d %d", &a, &b);
    --a, --b;
    if(uf.unite(a, b)) {
      g[a].emplace_back(b, i);
      g[b].emplace_back(a, i);
    }
    deg[a] ^= 1;
    deg[b] ^= 1;
    (ret += fact[i + 1]) %= mod;
  }


  function< bool(int, int) > dfs = [&](int idx, int par)
  {
    bool flag = deg[idx];
    for(auto &e : g[idx]) {
      if(e.first == par) continue;
      bool f = dfs(e.first, idx);
      if(f & 1) (ret += fact[e.second + 1]) %= mod;
      flag ^= f;
    }
    return (flag);
  };
  dfs(0, -1);
  printf("%d\n", ret);
}

Submission Info

Submission Time
Task C - ドライブ
User ei13333
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1523 Byte
Status WA
Exec Time 312 ms
Memory 42496 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:53:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &N, &M);
                         ^
./Main.cpp:59:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d", &a, &b);
                           ^

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 0 / 40 0 / 70
Status
AC × 2
AC × 15
WA × 5
AC × 26
WA × 9
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt
Subtask2 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt
Case Name Status Exec Time Memory
sample_01.txt AC 8 ms 13952 KB
sample_02.txt AC 7 ms 13952 KB
subtask1_01.txt WA 8 ms 13952 KB
subtask1_02.txt AC 8 ms 13952 KB
subtask1_03.txt AC 8 ms 13952 KB
subtask1_04.txt AC 9 ms 14080 KB
subtask1_05.txt AC 9 ms 13952 KB
subtask1_06.txt AC 9 ms 13952 KB
subtask1_07.txt AC 8 ms 13952 KB
subtask1_08.txt AC 9 ms 13952 KB
subtask1_09.txt AC 9 ms 13952 KB
subtask1_10.txt WA 9 ms 14080 KB
subtask1_11.txt WA 8 ms 14080 KB
subtask1_12.txt WA 8 ms 14080 KB
subtask1_13.txt WA 8 ms 14080 KB
subtask1_14.txt AC 8 ms 13952 KB
subtask1_15.txt AC 8 ms 13952 KB
subtask1_16.txt AC 8 ms 14080 KB
subtask1_17.txt AC 8 ms 13952 KB
subtask1_18.txt AC 7 ms 13952 KB
subtask2_01.txt AC 279 ms 30464 KB
subtask2_02.txt AC 289 ms 30592 KB
subtask2_03.txt AC 223 ms 32236 KB
subtask2_04.txt AC 293 ms 29696 KB
subtask2_05.txt WA 217 ms 30080 KB
subtask2_06.txt WA 257 ms 30464 KB
subtask2_07.txt WA 159 ms 31084 KB
subtask2_08.txt WA 257 ms 42496 KB
subtask2_09.txt AC 312 ms 30720 KB
subtask2_10.txt AC 53 ms 17664 KB
subtask2_11.txt AC 60 ms 15616 KB
subtask2_12.txt AC 175 ms 24308 KB
subtask2_13.txt AC 255 ms 27392 KB
subtask2_14.txt AC 271 ms 29952 KB
subtask2_15.txt AC 80 ms 15872 KB