fork download
  1. #include <stdio.h>
  2.  
  3. typedef struct
  4. {
  5. int id;
  6. int pid;
  7. const char *name;
  8. } item;
  9.  
  10. item prcs[] =
  11. {
  12. { 732, 134, "li" },
  13. { 494, 747, "li.-item._current" },
  14. { 590, 484, "ul" },
  15. { 252, 680, "ul.pinned-site-list.sortable" },
  16. { 296, 704, "div.topbar-dialog.help-dialog.js-help-dialog.dno" },
  17. { 986, 381, "ol.-list" },
  18. { 178, 795, "span.item-summary" },
  19. { 609, 816, "div.child-content" },
  20. { 788, 601, "li.related-site" },
  21. { 148, 788, "div.L-shaped-icon-container" },
  22. { 847, 590, "li" },
  23. { 484, 296, "div.modal-content" },
  24. { 747, 961, "ol.-list" },
  25. { 110, 616, "a.site-link.js-gps-track" },
  26. { 387, 132, "span.rep-score" },
  27. { 800, 590, "li" },
  28. { 688, 651, "svg" },
  29. { 40, 135, "a.js-gps-track" },
  30. { 430, 601, "li" },
  31. { 132, 99, "a.site-link.js-gps-track" },
  32. { 744, 676, "svg" },
  33. { 940, 6, "span.indicator-badge.js-unread-count._positive" },
  34. { 955, 754, "a.-link.js-gps-track" },
  35. { 160, 283, "a.js-gps-track" },
  36. { 134, 56, "ul.my-sites" },
  37. { 703, 31, "li.-item" },
  38. { 780, 34, "a" },
  39. { 289, 0, "div.-container" },
  40. { 881, 126, "a" },
  41. { 465, 812, "svg" },
  42. { 829, 543, "div.header" },
  43. { 567, 543, "div.modal-content.current-site-container" },
  44. { 651, 388, "a.-link.js-inbox-button" },
  45. { 283, 590, "li" },
  46. { 616, 134, "li" },
  47. { 173, 590, "li" },
  48. { 56, 543, "div.modal-content" },
  49. { 34, 126, "h3" },
  50. { 973, 134, "li" },
  51. { 417, 680, "input.site-filter-input" },
  52. { 249, 491, "a.-link.js-gps-track.js-review-button" },
  53. { 704, 381, "div.-dialog-container.js-topbar-dialog-corral" },
  54. { 63, 889, "span.badgecount" },
  55. { 135, 430, "div.related-links" },
  56. { 3, 264, "h3" },
  57. { 871, 110, "div.favicon.favicon-ru.site-icon" },
  58. { 473, 642, "svg" },
  59. { 663, 365, "span.rep-score" },
  60. { 391, 266, "a" },
  61. { 192, 641, "div.favicon.favicon-russian.site-icon" },
  62. { 961, 770, "nav.navigation" },
  63. { 773, 823, "button.btn-topbar-primary.js-search-submit" },
  64. { 801, 865, "img.-avatar.js-avatar-me" },
  65. { 813, 430, "a.current-site-link.site-link.js-gps-track" },
  66. { 910, 59, "span.rep-score" },
  67. { 388, 986, "li.-item" },
  68. { 922, 44, "span.badge3" },
  69. { 601, 567, "ul.current-site" },
  70. { 851, 102, "span.item-summary" },
  71. { 833, 365, "div.favicon.favicon-stackoverflow.site-icon" },
  72. { 357, 314, "span" },
  73. { 66, 590, "li" },
  74. { 281, 173, "a.js-gps-track" },
  75. { 795, 847, "a.js-gps-track" },
  76. { 841, 110, "span.rep-score" },
  77. { 314, 974, "div.-badges" },
  78. { 772, 651, "span.indicator-badge.js-unread-count._important" },
  79. { 893, 770, "a.-logo.js-gps-track" },
  80. { 543, 704, "div.topbar-dialog.siteSwitcher-dialog.dno" },
  81. { 491, 986, "li.-item" },
  82. { 962, 747, "li.-item" },
  83. { 706, 3, "a" },
  84. { 44, 314, "span" },
  85. { 364, 135, "a.js-gps-track" },
  86. { 642, 409, "a.-link.js-site-switcher-button.js-gps-track" },
  87. { 515, 357, "span.badgecount" },
  88. { 719, 160, "span.item-summary" },
  89. { 383, 135, "a.js-gps-track" },
  90. { 754, 747, "li.-item" },
  91. { 105, 494, "a.-link.js-gps-track" },
  92. { 126, 543, "div.header" },
  93. { 189, 148, "span.L-shaped-icon" },
  94. { 80, 44, "span.badgecount" },
  95. { 217, 465, "path" },
  96. { 102, 800, "a.js-gps-track" },
  97. { 99, 134, "li" },
  98. { 856, 289, "div.-actions" },
  99. { 865, 974, "div.gravatar-wrapper-24" },
  100. { 974, 856, "a.my-profile.js-gps-track" },
  101. { 694, 59, "div.favicon.favicon-stackexchangemeta.site-icon" },
  102. { 911, 829, "a.fr" },
  103. { 823, 289, "form.searchbar" },
  104. { 266, 829, "h3" },
  105. { 685, 986, "li.-item" },
  106. { 920, 962, "a.-link.js-gps-track" },
  107. { 957, 856, "nav.secondary-nav" },
  108. { 934, 986, "li.-item" },
  109. { 201, 112, "span.item-summary" },
  110. { 172, 357, "span.badge1" },
  111. { 171, 122, "path" },
  112. { 680, 56, "div.pinned-site-editor-container" },
  113. { 29, 641, "span.rep-score" },
  114. { 264, 543, "div.header" },
  115. { 812, 536, "a.-link.js-mod-inbox-button" },
  116. { 462, 348, "path" },
  117. { 493, 688, "path" },
  118. { 544, 473, "path" },
  119. { 948, 126, "a" },
  120. { 891, 142, "span.indicator-badge._regular" },
  121. { 796, 744, "path" },
  122. { 81, 788, "a.site-link.js-gps-track" },
  123. { 275, 132, "div.favicon.favicon-codegolf.site-icon" },
  124. { 122, 6, "svg" },
  125. { 112, 66, "a.js-gps-track" },
  126. { 889, 314, "span" },
  127. { 6, 934, "a.-link.js-achievements-button" },
  128. { 230, 81, "div.favicon.favicon-rumeta.site-icon" },
  129. { 557, 893, "span.-img._glyph" },
  130. { 565, 974, "div.-rep.js-header-rep" },
  131. { 458, 249, "svg" },
  132. { 770, 289, "div.-main" },
  133. { 405, 680, "input" },
  134. { 365, 255, "a.site-link.js-gps-track" },
  135. { 409, 986, "li.-item" },
  136. { 348, 773, "svg" },
  137. { 381, 856, "nav.secondary-nav" },
  138. { 41, 813, "div.favicon.favicon-ru.site-icon" },
  139. { 641, 973, "a.site-link.js-gps-track" },
  140. { 128, 823, "input.f-input.js-search-field" },
  141. { 255, 134, "li" },
  142. { 676, 685, "a.-link.js-help-button" },
  143. { 983, 889, "span.badge2" },
  144. { 858, 680, "ul.js-found-sites.found-sites" },
  145. { 432, 458, "path" },
  146. { 31, 957, "ol.-list" },
  147. { 142, 703, "a.-link._text-only" },
  148. { 816, 543, "div.modal-content" },
  149. { 481, 680, "a" },
  150. { 654, 281, "span.item-summary" },
  151. { 536, 31, "li.-item" },
  152. { 59, 732, "a.site-link.js-gps-track" },
  153. { 74, 680, "input" }
  154. };
  155.  
  156. const unsigned n = sizeof prcs / sizeof (item);
  157.  
  158. void dfs(int pid, unsigned level)
  159. {
  160. for (unsigned q=0; q<n; ++q)
  161. if (prcs[q].pid == pid)
  162. {
  163. printf("%*s%d %s\n", level*2, "", prcs[q].id, prcs[q].name);
  164. dfs(prcs[q].id, level+1);
  165. }
  166. }
  167.  
  168. int main(void)
  169. {
  170. dfs(0, 0);
  171. return 0;
  172. }
Success #stdin #stdout 0s 4320KB
stdin
Standard input is empty
stdout
289 div.-container
  856 div.-actions
    974 a.my-profile.js-gps-track
      314 div.-badges
        357 span
          515 span.badgecount
          172 span.badge1
        44 span
          922 span.badge3
          80 span.badgecount
        889 span
          63 span.badgecount
          983 span.badge2
      865 div.gravatar-wrapper-24
        801 img.-avatar.js-avatar-me
      565 div.-rep.js-header-rep
    957 nav.secondary-nav
      31 ol.-list
        703 li.-item
          142 a.-link._text-only
            891 span.indicator-badge._regular
        536 li.-item
          812 a.-link.js-mod-inbox-button
            465 svg
              217 path
    381 nav.secondary-nav
      986 ol.-list
        388 li.-item
          651 a.-link.js-inbox-button
            688 svg
              493 path
            772 span.indicator-badge.js-unread-count._important
        491 li.-item
          249 a.-link.js-gps-track.js-review-button
            458 svg
              432 path
        685 li.-item
          676 a.-link.js-help-button
            744 svg
              796 path
        934 li.-item
          6 a.-link.js-achievements-button
            940 span.indicator-badge.js-unread-count._positive
            122 svg
              171 path
        409 li.-item
          642 a.-link.js-site-switcher-button.js-gps-track
            473 svg
              544 path
      704 div.-dialog-container.js-topbar-dialog-corral
        296 div.topbar-dialog.help-dialog.js-help-dialog.dno
          484 div.modal-content
            590 ul
              847 li
                795 a.js-gps-track
                  178 span.item-summary
              800 li
                102 a.js-gps-track
                  851 span.item-summary
              283 li
                160 a.js-gps-track
                  719 span.item-summary
              173 li
                281 a.js-gps-track
                  654 span.item-summary
              66 li
                112 a.js-gps-track
                  201 span.item-summary
        543 div.topbar-dialog.siteSwitcher-dialog.dno
          829 div.header
            911 a.fr
            266 h3
              391 a
          567 div.modal-content.current-site-container
            601 ul.current-site
              788 li.related-site
                148 div.L-shaped-icon-container
                  189 span.L-shaped-icon
                81 a.site-link.js-gps-track
                  230 div.favicon.favicon-rumeta.site-icon
              430 li
                135 div.related-links
                  40 a.js-gps-track
                  364 a.js-gps-track
                  383 a.js-gps-track
                813 a.current-site-link.site-link.js-gps-track
                  41 div.favicon.favicon-ru.site-icon
          56 div.modal-content
            134 ul.my-sites
              732 li
                59 a.site-link.js-gps-track
                  910 span.rep-score
                  694 div.favicon.favicon-stackexchangemeta.site-icon
              616 li
                110 a.site-link.js-gps-track
                  871 div.favicon.favicon-ru.site-icon
                  841 span.rep-score
              973 li
                641 a.site-link.js-gps-track
                  192 div.favicon.favicon-russian.site-icon
                  29 span.rep-score
              99 li
                132 a.site-link.js-gps-track
                  387 span.rep-score
                  275 div.favicon.favicon-codegolf.site-icon
              255 li
                365 a.site-link.js-gps-track
                  663 span.rep-score
                  833 div.favicon.favicon-stackoverflow.site-icon
            680 div.pinned-site-editor-container
              252 ul.pinned-site-list.sortable
              417 input.site-filter-input
              405 input
              858 ul.js-found-sites.found-sites
              481 a
              74 input
          126 div.header
            881 a
            34 h3
              780 a
            948 a
          264 div.header
            3 h3
              706 a
          816 div.modal-content
            609 div.child-content
  823 form.searchbar
    773 button.btn-topbar-primary.js-search-submit
      348 svg
        462 path
    128 input.f-input.js-search-field
  770 div.-main
    961 nav.navigation
      747 ol.-list
        494 li.-item._current
          105 a.-link.js-gps-track
        962 li.-item
          920 a.-link.js-gps-track
        754 li.-item
          955 a.-link.js-gps-track
    893 a.-logo.js-gps-track
      557 span.-img._glyph