很奇怪,题目上明明说n是2到20,但是如果只给array开21,提交就会RE,22就可以AC。。。
#include<iostream>
#include<string>
#include <array>
#include<math.h>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
string s;
cin >> s;
int row = s.length();
row = ceil(row / n);
array<array<char, 22>, 22>charmat;
for (int i = 0; i < row; i++) {
for (int j = 0; j < n; j++) {
charmat[i][j]=s[i*n+j];
}
if (i % 2) {
reverse(charmat[i].begin(), charmat[i].begin() + n);
}
}
for (int j = 0; j < n; j++) {
for (int i = 0; i < row; i++) {
cout << charmat[i][j];
}
}
//for (int i = 0; i < row; i++) {
// for (int j = 0; j < n; j++) {
// cout << charmat[i][j] << " ";
// }
// cout << endl;
//}
return 0;
}