20161027
이것도 쉬운 구현 문제 n이 작으므로 어떻게 하든 상관 없음
int main(int argc, char **argv)
{
ios_base::sync_with_stdio(false); cin.tie(0);
int n;
int hori, verti;
char board[111][111];
bool visited[111][111];
vector<vector<int>> row(111);
vector<vector<int>> col(111);
memset(visited, false, sizeof(visited));
hori = 0, verti = 0;
cin>>n;
for(int i = 0; i < 111; i++)
{
row[i].pb(0);
col[i].pb(0);
}
for(int i = 1 ;i <= n ; i++)
for(int j = 1 ; j <= n ; j++)
{
cin>>board[i][j];
if(board[i][j] == 'X')
{
row[i].pb(j);
col[j].pb(i);
}
}
for(int i = 0; i < 111; i++)
{
row[i].pb(n+1);
col[i].pb(n+1);
}
for(int i = 1 ; i <= n ;i++)
{
for(int j = 1; j < row[i].size() ; j++)
{
if(row[i][j] - row[i][j-1] > 2) hori++;
}
}
for(int i = 1 ; i <= n ;i++)
{
for(int j = 1; j <col[i].size() ; j++)
{
if(col[i][j] - col[i][j-1] > 2) verti++;
}
}
cout<<hori<<' '<<verti<<newline;
return 0;
}