#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
void print_board( int const height,
int const width,
char const char_1,
char const char_2)
{
bool toggle = false ;
size_t length = to_string( height) .length ( ) ;
for ( int i = 1 ; i <= height; ++ i)
{
cout << setw( length) << i << ' ' ;
for ( int j = 0 ; j < width; ++ j) {
cout << ( toggle ? char_2 : char_1) ;
toggle = ! toggle;
}
cout << endl;
}
cout << setw( length+ 1 ) << ' ' ;
for ( int j = 0 ; j < width; ++ j) {
cout << char ( 'A' + j) ;
}
cout << endl;
}
int main( )
{
int width { } ;
int height { } ;
char char_1 { } ;
char char_2 { } ;
for ( int i = 0 ; i < 2 ; ++ i) {
cout << "Enter height and width: " ;
cin >> height >> width;
cout << endl << "Enter characters: " ;
cin >> char_1 >> char_2;
cout << endl;
print_board( height, width, char_1, char_2) ;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHByaW50X2JvYXJkKGludCBjb25zdCBoZWlnaHQsCgkJCQlpbnQgY29uc3Qgd2lkdGgsCiAgICAgICAgICAgICAgICBjaGFyIGNvbnN0IGNoYXJfMSwKICAgICAgICAgICAgICAgIGNoYXIgY29uc3QgY2hhcl8yKQp7Cglib29sIHRvZ2dsZSA9IGZhbHNlOwoJc2l6ZV90IGxlbmd0aCA9IHRvX3N0cmluZyhoZWlnaHQpLmxlbmd0aCgpOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGhlaWdodDsgKytpKQogICAgewogICAgICAgIGNvdXQgPDwgc2V0dyhsZW5ndGgpIDw8IGkgPDwgJyAnOwogICAgCWZvciAoaW50IGogPSAwOyBqIDwgd2lkdGg7ICsrail7CgkJCWNvdXQgPDwgKHRvZ2dsZSA/IGNoYXJfMiA6IGNoYXJfMSk7CgkJCXRvZ2dsZSA9ICF0b2dnbGU7CiAgICAJfQogICAgCWNvdXQgPDwgZW5kbDsKICAgIH0gICAKCgljb3V0IDw8IHNldHcobGVuZ3RoKzEpIDw8ICcgJzsKCWZvciAoaW50IGogPSAwOyBqIDwgd2lkdGg7ICsrail7CgkJY291dCA8PCBjaGFyKCdBJytqKTsKCX0KCWNvdXQgPDwgZW5kbDsKfQogICAgICAgICAgICAgCmludCBtYWluKCkKewogICAgaW50IHdpZHRoIHt9OwogICAgaW50IGhlaWdodCB7fTsKICAgIGNoYXIgY2hhcl8xIHt9OwogICAgY2hhciBjaGFyXzIge307CgoJZm9yKGludCBpID0gMDsgaSA8IDI7ICsraSl7CgkgICAgY291dCA8PCAiRW50ZXIgaGVpZ2h0IGFuZCB3aWR0aDogIjsKICAgIAljaW4gPj4gaGVpZ2h0ID4+IHdpZHRoOwoJICAgIGNvdXQgPDwgZW5kbCA8PCAiRW50ZXIgY2hhcmFjdGVyczogIjsKICAgIAljaW4gPj4gY2hhcl8xID4+IGNoYXJfMjsKCSAgICBjb3V0IDw8IGVuZGw7CgogICAgCXByaW50X2JvYXJkKGhlaWdodCwgd2lkdGgsIGNoYXJfMSwgY2hhcl8yKTsKCX0KCiAgICByZXR1cm4gMDsKfQ==