1031 Hello World for U
题目大意
输入一个字符串,输出该字符串的一个u型格式
算法思想
- 这道题比较难的部分应该就是找n1,n2,n3的部分,可以直接根据题目给出的算法之间列出来就行
- 注意空格是随着n2变化
- 无特殊点
代码
#include<iostream>
using namespace std;
int main() {
int maxn = -1, k, n2, i, j;
string s;
cin >> s;
for (n2 = 3; n2 <= s.size(); n2++) {//寻找n1,n2,n3的值
for (k = 0; k <= n2; k++) {
if (k * 2 + n2 - 2 == s.size() && k>maxn)
maxn = k;
}
}
n2 = s.size() + 2 - maxn * 2;
for (i = 0, j = s.size() - 1; i < maxn - 1; i++, j--) {//输出u型
cout << s[i];
for (int l = 0; l < n2 - 2; l++)//空格随着n2变化
cout << " ";
cout<< s[j] << endl;
}
for (; i <= j; i++)//输出n2部分
cout << s[i];
return 0;
}