ARC 039 C Z塗り
問題
方針
上の行から見ていって,まだ塗られていない最も右のマスを探し,そこを起点にして塗る.
実装
vector<string> draw(vector<string> g, int y, int x){
int N = g.size();
for(int i=0;i<=x;i++) g[y][i] = 'o';
if(y+1 < N) for(int i=x;i<=N;i++) g[y+1][i] = 'o';
return g;
}
signed main(){
int N;
while(cin >> N){
vector<string> g(N);
rep(i,N) cin >> g[i];
int ans = 0;
rep(y,N){
int dx = -1;
rep(x,N) if(g[y][x]=='.') dx = x;
if(dx != -1) g = draw(g,y,dx), ans++;
// draw g[y][drawx];
}
cout << ans << endl;
}
}