func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<int> g[300001];   bool mark[300001];   bool vis[300001];   int road_count = 0;   int main(void) {     int n, m;     cin >> n >> m;     int a, b;     for (int i = 0; i < m; i++) {       cin >> a >> b;       a--;       b--;       g[a].push_back(b);       g[b].push_back(a);     }     memset(mark, 0, sizeof(bool) * n);     queue<int> q;     for (int i = 0; i < n; i++) q.push(i);     while (!q.empty()) {       int x = q.front();       q.pop();       int count = 0;       for (int i = 0; i < g[x].size(); i++) {         if (mark[x] == mark[g[x][i]]) count++;       }       if (count > 1) {         mark[x] = !mark[x];         for (int i = 0; i < g[x].size(); i++) {           if (mark[x] == mark[g[x][i]]) q.push(g[x][i]);         }       }     }     for (int i = 0; i < n; i++) {       if (mark[i])         cout <<  1 ;       else         cout <<  0 ;     }   }   