Advertisement
Guest User

B

a guest
Nov 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.92 KB | None | 0 0
  1. #pragma GCC optimize("Ofast")
  2. #pragma GCC optimize("unroll-loops")
  3. #include <iostream>
  4. #include <string>
  5. #include <vector>
  6. using namespace std;
  7.  
  8. int main() {
  9.     ios_base::sync_with_stdio(false);
  10.     cin.tie(nullptr), cout.tie(nullptr);
  11.     string s;
  12.     cin >> s;
  13.     vector <string> ans;
  14.     int k = (int)s.size() / 20;
  15.     int n = (int)(s.size());
  16.     if (k == 0) {
  17.         cout << "1 " << s.size() << '\n';
  18.         cout << s;
  19.     } else {
  20.         int t = (int)s.size() % 20;
  21.         if (t == 0) {
  22.             cout << k << " 20\n";
  23.             for (int i = 0; i < k; ++i) {
  24.                 for (int j = 0; j < 20; ++j) {
  25.                     cout << s[j];
  26.                 }
  27.                 cout << '\n';
  28.                 s = s.substr(20);
  29.             }
  30.         } else if ((int)(s.size() % (k + 1) == 0)) {
  31.             for (int i = 0; i < k; ++i) {
  32.                 string text;
  33.                 text = s.substr(0, n / (k + 1));
  34.                 s = s.substr(n / (k + 1));
  35.                 ans.push_back(text);
  36.             }
  37.             ans.push_back(s);
  38.             cout << ans.size() << " " << ans[0].size() << "\n";
  39.             for (int i = 0; i < ans.size(); ++i)
  40.                 cout << ans[i] << '\n';
  41.         } else {
  42.             int cnt = k + 1 - n % (k + 1);
  43.             for (int i = 0; i < k; ++i) {
  44.                 string text;
  45.                 if (cnt > 0) {
  46.                     text = s.substr(0, n / (k + 1)) + "*";
  47.                     s = s.substr(n / (k + 1));
  48.                     cnt--;
  49.                 } else {
  50.                     text = s.substr(0, n / (k + 1) + 1);
  51.                     s = s.substr(n / (k + 1) + 1);
  52.                 }
  53.                 ans.push_back(text);
  54.             }
  55.             ans.push_back(s);
  56.             cout << ans.size() << " " << ans[0].size() << "\n";
  57.             for (int i = 0; i < ans.size(); ++i)
  58.                 cout << ans[i] << '\n';
  59.         }
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement