
Untitled
By: a guest on
May 20th, 2012 | syntax:
C++ | size: 0.79 KB | hits: 14 | expires: Never
#include <fstream>
#include <vector>
using namespace std;
vector<int> g[7];
int cnt[7];
bool used[7];
bool was[7];
void dfs(int v) {
if (used[v]) return;
used[v] = true;
for (int i = 0, to; i < g[v].size(); ++i) {
to = g[v][i];
dfs(to);
}
}
int main() {
ifstream fin("input.txt");
ofstream fout("output.txt");
int N;
fin >> N;
for (int i = 0;i < N; ++i) {
int left, right;
fin >> left >> right;
left;
right;
++cnt[left];
++cnt[right];
was[left] = true;
was[right] = true;
g[left].push_back(right);
g[right].push_back(left);
}
for (int j = 0; j <= 6; ++j) if (was[j]) { dfs(j); break; }
bool ok = true;
for (int i = 0; i <= 6; ++i) ok &= (used[i] && (cnt[i] % 2 == 0)) || !was[i];
if (ok) fout << "Yes";
else fout << "No";
fin.close();
fout.close();
return 0;
}