#include <iostream>
#include <string>
using namespace std;
void print_board(int const width,
int const height,
char const char_1,
char const char_2)
{
for (int i = 0; i < height + 1; i++) {
for (int j = 0; j < width + 2; j++) {
if (j == 0)
cout << (i + 1) << " ";
else {
if (j % 2 == 0)
cout << char_2;
else
cout << char_1;
}
}
cout << endl;
if (i == height) {
cout << " ";
for (int k = 0; k < width + 1; k++) {
cout << static_cast<char>('A' + k);
}
}
}
}
int main()
{
int width {};
int height {};
char char_1 {};
char char_2 {};
cout << "Enter width and height: ";
cin >> width >> height;
cout << endl << "Enter characters: ";
cin >> char_1 >> char_2;
cout << endl;
print_board(width, height, char_1, char_2);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgcHJpbnRfYm9hcmQoaW50IGNvbnN0IHdpZHRoLAogICAgICAgICAgICAgICAgIGludCBjb25zdCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgY2hhciBjb25zdCBjaGFyXzEsCiAgICAgICAgICAgICAgICAgY2hhciBjb25zdCBjaGFyXzIpCnsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaGVpZ2h0ICsgMTsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB3aWR0aCArIDI7IGorKykgewogICAgICAgICAgICBpZiAoaiA9PSAwKQogICAgICAgICAgICAgICAgY291dCA8PCAoaSArIDEpIDw8ICIgIjsKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoaiAlIDIgPT0gMCkKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IGNoYXJfMjsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IGNoYXJfMTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGVuZGw7CgogICAgICAgIGlmIChpID09IGhlaWdodCkgewogICAgICAgICAgICBjb3V0IDw8ICIgICI7CiAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgd2lkdGggKyAxOyBrKyspIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgc3RhdGljX2Nhc3Q8Y2hhcj4oJ0EnICsgayk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgaW50IHdpZHRoIHt9OwogICAgaW50IGhlaWdodCB7fTsKICAgIGNoYXIgY2hhcl8xIHt9OwogICAgY2hhciBjaGFyXzIge307CgogICAgY291dCA8PCAiRW50ZXIgd2lkdGggYW5kIGhlaWdodDogIjsKICAgIGNpbiA+PiB3aWR0aCA+PiBoZWlnaHQ7CiAgICBjb3V0IDw8IGVuZGwgPDwgIkVudGVyIGNoYXJhY3RlcnM6ICI7CiAgICBjaW4gPj4gY2hhcl8xID4+IGNoYXJfMjsKICAgIGNvdXQgPDwgZW5kbDsKCiAgICBwcmludF9ib2FyZCh3aWR0aCwgaGVpZ2h0LCBjaGFyXzEsIGNoYXJfMik7CgogICAgcmV0dXJuIDA7Cn0=