0036 - A Figure on Surface

#include <iostream>
using namespace std;

bool Slove(void)	{
	int x=0, y=0;
	char grid[10][10];

	for (int i=0; i<10; ++i)
		for (int j=0; j<10; ++j)
			grid[i][j]='0';
	for (int i=0; i<8; ++i)
		for (int j=0; j<8; ++j)
			cin >> grid[i][j];
	if ( cin.eof() )	return false;
	for (int i=0; i<64; ++i)	{
		if (0<i && grid[i/8][i%8]=='1')	{
			y=i/8; x=i%8;
			break;
		}
		else if (i==0 && grid[i][i]=='1')	break;
	}
	if (grid[y][x+1]=='1' && grid[y+1][x]=='1' && grid[y+1][x+1]=='1')	cout << "A" << endl;
	else if (grid[y+1][x]=='1' && grid[y+2][x]=='1' && grid[y+3][x]=='1')	cout << "B" << endl;
	else if (grid[y][x+1]=='1' && grid[y][x+2]=='1' && grid[y][x+3]=='1')	cout << "C" << endl;
	else if (grid[y][x+1]=='1' && grid[y+1][x+1]=='1' && grid[y+1][x+2]=='1')	cout << "E" << endl;
	else if (grid[y+1][x]=='1' && grid[y+1][x+1]=='1' && grid[y+2][x+1]=='1')	cout << "F" << endl;
	else if (grid[y][x+1]=='1' && grid[y+1][x-1]=='1' && grid[y+1][x]=='1')	cout << "G" << endl;
	else if (grid[y+1][x]=='1' && grid[y+1][x-1]=='1' && grid[y+2][x-1]=='1')	cout << "D" << endl;
	return true;
}

int main(void)	{
	while (true)
		if ( !Slove() )	break;
	return 0;
}

やるだけ。。