Facebook
From Chocolate Lechwe, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 310
  1. #include <bits/stdc++.h>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <cmath>
  5. #include <iostream>
  6. #define MAXN 500001
  7.  
  8. using namespace std;
  9.  
  10. vector <int> galezie[MAXN];
  11. bitset <MAXN> odw;
  12. bitset <MAXN> strajk;
  13.  
  14. /*
  15. void ilosc_poddrzew(int a)
  16. {
  17.     int wynik = 0;
  18.     bool x = 0;
  19.  
  20.     for(int i = 1; i <= a; i++)
  21.     {
  22.         if(strajk[i] && galezie[i].size() > 1)
  23.         {
  24.             for(int j = 0; j < galezie[i].size(); j++)
  25.             {
  26.                 //printf("%d ",galezie[i][j]);
  27.                 if(strajk[galezie[i][j]] == 0) wynik++;
  28.                 /*if(x == 0)
  29.                 {
  30.                     wynik--;
  31.                     x++;
  32.                 }//
  33.             }
  34.         }
  35.         if(galezie[i].size() == 1 && wynik == 0 && strajk[i]) wynik++;
  36.     }
  37.  
  38.     printf("%d\n",wynik);
  39. }
  40. */
  41.  
  42. int main()
  43. {
  44.     int n, x, y, m, pomoc_strajki;
  45.     int wynik = 1;
  46.  
  47.     scanf("%d",&n);
  48.  
  49.     for(int i = 1; i < n; i++)
  50.     {
  51.         scanf("%d%d",&x,&y);
  52.  
  53.         galezie[x].push_back(y);
  54.         galezie[y].push_back(x);
  55.     }
  56.  
  57.     scanf("%d",&m);
  58.  
  59.     for(int i = 0; i < m; i++)
  60.     {
  61.         scanf("%d",&pomoc_strajki);
  62.         if(pomoc_strajki > 0) strajk[pomoc_strajki].flip();
  63.             else strajk[pomoc_strajki * -1].flip();
  64.  
  65.         if(pomoc_strajki > 0)
  66.         {
  67.             wynik--;
  68.             for(int j = 0; j < galezie[pomoc_strajki].size(); j++)
  69.                 if(strajk[galezie[pomoc_strajki][j]] == 0) wynik++;
  70.         }
  71.         else
  72.         {
  73.             wynik++;
  74.             for(int j = 0; j < galezie[-1 *pomoc_strajki].size(); j++)
  75.                 if(strajk[galezie[-1 * pomoc_strajki][j]] == 0) wynik--;
  76.         }
  77.  
  78.         //ilosc_poddrzew(n);
  79.  
  80.         printf("%d",wynik);
  81.     }
  82. }

Replies to Untitled rss

Title Name Language When
Re: Untitled Gruff Mockingjay cpp 5 Years ago.