UVA 11192 - Group Reverse
題目:
Group reversing a string means reversing a string by groups.
以下為範例
"TOBENUMBERONEWEMEETAGAINANDAGAINUNDERBLUEICPCSKY"
此字串長度為48,假設我們把該字串分成8個長度為6的群組,對每個群組內的字串分別做反轉,會得到另一個新字串:
"UNEBOTNOREBMEEMEWENIAGATAGADNAEDNUNIIEULBRYKSCPC"
此行為就稱為Group reversing。
給定群組數目及字串,請你分組反轉字串。
Input
每行包含一個整數G (G < 10),表示群組數,當G為0代表輸入結束
接著是一個字符串,其長度為G的倍數。
字符串長度不大於100。
字符串僅包含英文字母。
Output
對於每一行輸入,輸出此字符串的Group reversing。
Sample Input #1
3 ABCEHSHSH
5 FAOETASINAHGRIONATWONOQAONARIO
0
Sample Output #1
CBASHEHSH
ATEOAFGHANISTANOIRAQONOWOIRANO
C++ code:
#include <bits/stdc++.h>
#define speed ios::sync_with_stdio(0);cin.tie(0);
#define ll long long int
using namespace std;
int main() {
int n;
string s;
while (cin >> n) {
if (n == 0) break;
else {
cin >> s;
vector<string> word;
int len = s.length() / n;
for (int i = 0; i < s.length(); i += len) {
string ans = s.substr(i, len);
reverse(ans.begin(), ans.end());
word.push_back(ans);
}
for (string c : word) {
cout << c;
}
cout << endl;
}
}
}