Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 20th, 2012  |  syntax: C++  |  size: 0.79 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include <fstream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. vector<int> g[7];
  6. int cnt[7];
  7. bool used[7];
  8. bool was[7];
  9. void dfs(int v) {
  10.         if (used[v]) return;
  11.         used[v] = true;
  12.         for (int i = 0, to; i < g[v].size(); ++i) {
  13.                 to = g[v][i];
  14.                 dfs(to);
  15.         }
  16. }
  17. int main() {
  18.         ifstream fin("input.txt");
  19.         ofstream fout("output.txt");
  20.         int N;
  21.         fin >> N;
  22.         for (int i = 0;i < N; ++i) {
  23.                 int left, right;
  24.                 fin >> left >> right;
  25.                 left;
  26.                 right;
  27.                 ++cnt[left];
  28.                 ++cnt[right];
  29.                 was[left] = true;
  30.                 was[right] = true;
  31.                 g[left].push_back(right);
  32.                 g[right].push_back(left);
  33.         }
  34.         for (int j = 0; j <= 6; ++j) if (was[j]) { dfs(j); break; }
  35.         bool ok = true;
  36.         for (int i = 0; i <= 6; ++i) ok &= (used[i] && (cnt[i] % 2 == 0)) || !was[i];
  37.         if (ok) fout << "Yes";
  38.         else fout << "No";
  39.         fin.close();
  40.         fout.close();
  41.         return 0;
  42. }