diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/hags.cpp b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/hags.cpp index e784868..0804fe8 100644 --- a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/hags.cpp +++ b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/hags.cpp @@ -1,20 +1,24 @@ #include using namespace std; -const int N = 5010; -int f[N]; -int n, k; +const int N = 210; + +char a[N][N]; +int n, m; int main() { - cin >> n >> k; - if (k == 1) { - cout << 1 << endl; - exit(0); + string s; + cin >> s; + int len = s.size(); + for (int i = 1;; i++) { + if (len % i == 0 && len / i >= i) n = i; + if (len / i < i) break; } - f[1] = 1; - f[2] = 2; + m = len / n; - for (int i = 3; i <= n; i++) - for (int j = max(i - k, 1); j <= max(1, i - 1); j++) - f[i] += f[j]; - cout << f[n] << endl; + for (int i = 0; i < n; i++) + for (int j = 0; j < m; j++) + a[i][j] = s[i * m + j]; + for (int j = 0; j < m; j++) + for (int i = 0; i < n; i++) + cout << a[i][j]; return 0; -} \ No newline at end of file +}