1
0

CodeForces-1144F.cpp 790 B

1234567891011121314151617181920212223242526
  1. #include <iostream>
  2. #include <queue>
  3. #include <utility>
  4. #include <vector>
  5. using namespace std;
  6. int main() {
  7. ios::sync_with_stdio(false);
  8. cin.tie(nullptr);
  9. int n, m; cin >> n >> m;
  10. vector<pair<int, int>> edges(m); vector<vector<int>> g(n);
  11. for (auto &[u, v] : edges) {
  12. cin >> u >> v; --u; --v; g[u].push_back(v); g[v].push_back(u);
  13. }
  14. vector<int> color(n, -1); queue<int> q; color[0] = 0; q.push(0);
  15. while (!q.empty()) {
  16. int u = q.front(); q.pop();
  17. for (int v : g[u]) {
  18. if (color[v] == -1) color[v] = color[u] ^ 1, q.push(v);
  19. else if (color[v] == color[u]) { cout << "NO\n"; return 0; }
  20. }
  21. }
  22. cout << "YES\n";
  23. for (auto [u, v] : edges) cout << (color[u] == 0 ? '0' : '1');
  24. cout << '\n';
  25. }