Vserosbuybuy

C3. J

Feb 23rd, 2021 (edited)
147
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <set>
  5. #include <map>
  6.  
  7. using namespace std;
  8.  
  9. int cnt[500];
  10. int diag[500][11000]
  11.  
  12. int main()
  13. {
  14. #if _DEBUG
  15.     freopen("input.txt", "r", stdin);
  16.     freopen("output.txt", "w", stdout);
  17. #endif
  18.     char c;
  19.     while (cin >> c) {
  20.         cnt[c]++;
  21.     }
  22.  
  23.     int max_h = 0;
  24.     for (int i = 0; i < 500; ++i) {
  25.         max_h = max(max_h, cnt[i]);
  26.     }
  27.     for (int i = max_h; i > 0; --i) {
  28.         for (int c = 0; c < 500; ++c) {
  29.             if (cnt[c] == 0) {
  30.                 continue;
  31.             }
  32.             if (cnt[c] >= i) {
  33.                 cout << '#';
  34.             }
  35.             else {
  36.                 cout << ' ';
  37.             }
  38.         }
  39.         cout << "\n";
  40.     }
  41.     for (int c = 0; c < 500; ++c) {
  42.         if (cnt[c] == 0) {
  43.             continue;
  44.         }
  45.         cout << static_cast<char>(c);
  46.     }
  47.     return 0;
  48. }
  49.  
  50. #include <iostream>
  51. #include <vector>
  52. #include <string>
  53. #include <set>
  54. #include <map>
  55.  
  56. using namespace std;
  57.  
  58. int cnt[500];
  59. char diag[11000][500];
  60.  
  61. int main()
  62. {
  63. #if _DEBUG
  64.     freopen("input.txt", "r", stdin);
  65.     freopen("output.txt", "w", stdout);
  66. #endif
  67.     char c;
  68.     while (cin >> c) {
  69.         cnt[c]++;
  70.     }
  71.  
  72.     int max_h = 0;
  73.     for (int i = 0; i < 500; ++i) {
  74.         max_h = max(max_h, cnt[i]);
  75.     }
  76.     int pos = 0;
  77.     for (int c = 0; c < 500; ++c) {
  78.         if (cnt[c] == 0) continue;
  79.  
  80.         for (int i = 0; i < cnt[c]; ++i) {
  81.             diag[i][pos] = '#';
  82.         }
  83.         for (int i = cnt[c]; i < max_h; ++i) {
  84.             diag[i][pos] = ' ';
  85.         }
  86.  
  87.         pos++;
  88.     }
  89.     for (int i = max_h - 1; i >= 0; --i) {
  90.         for (int j = 0; j < pos; j++) {
  91.             cout << diag[i][j];
  92.         }
  93.         cout << '\n';
  94.     }
  95.     return 0;
  96. }
RAW Paste Data