fork download
  1. #include <stdio.h>
  2. #include <assert.h>
  3.  
  4. #define MAXN 100000
  5.  
  6. int frags[MAXN];
  7. int alive;
  8.  
  9. int main() {
  10. FILE *fr, *fw;
  11. int N, E, L, P, Q, i;
  12. char t;
  13.  
  14. #ifdef EVAL
  15. fr = fopen("input.txt", "r");
  16. fw = fopen("output.txt", "w");
  17. #else
  18. fr = stdin;
  19. fw = stdout;
  20. #endif
  21. assert(3 == fscanf(fr, "%d %d %d", &N, &E, &L));
  22. for(i=0; i<E; i++) {
  23. assert(2 == fscanf(fr, "%d %c", &P, &t));
  24. if (t == 'f')
  25. assert(1 == fscanf(fr, "%d", &Q));
  26. else assert(t == 'e');
  27. assert(frags[P] < L);
  28. if (t == 'e') {
  29. frags[P]--;
  30. L--;
  31. }
  32. else {
  33. assert(frags[Q] < L);
  34. frags[Q]++;
  35. }
  36. }
  37. for (int i=alive=0; i<N; i++)
  38. if (frags[i] < L)
  39. alive++;
  40. fprintf(fw, "%d\n", alive);
  41. fclose(fr);
  42. fclose(fw);
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0.01s 5316KB
stdin
4 4 8
1 e
0 e
2 e
1 e
stdout
4