【Basic Level】
*1027 剩余0也要输出
#include <iostream>
using namespace std;
int main()
{
int n;
char c;
cin >> n >> c;
int m = (n - 1) / 2;
if (m < 3)
{
cout << c << endl
<< n - 1 << endl;
return 0;
}
int l = 3;
for (int i = l; i < n; l += 2, i += l)
{
if (i >= m)
{
if (i > m)
l -= 2;
break;
}
}
int s = 0;
for (int j = 0; j < l / 2; ++j)
{
int x = l - 2 * j;
s += x;
int y = j;
while (y--)
{
cout << ' ';
}
while (x--)
{
cout << c;
}
cout << endl;
}
int t = (l - 1) / 2;
while (t--)
{
cout << ' ';
}
cout << c << endl;
for (int j = 1; j <= l / 2; ++j)
{
int x = j * 2 + 1;
int y = l / 2 - j;
while (y--)
{
cout << ' ';
}
while (x--)
{
cout << c;
}
cout << endl;
}
cout << n - s * 2 - 1 << endl;
return 0;
}