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; }
やるだけ。。