Codeforces #192 Div2 A "Cakeminator"
問題
http://codeforces.com/contest/330/problem/A
訳
r * cマスの大きさがある四角いケーキがある。それぞれのマスにはイチゴが乗っているか乗っていないかである。
ケーキミネーターは今ケーキを食い荒らそうとしている!彼はケーキを食べる際、イチゴが乗っていないマスが残っている1つの列か行を選択し、そこを食い荒らす。彼は好きなだけこの行動を繰り返し行う。
ケーキミネーターは最大いくつのマスを食べてしまうのかを出力せよ。
制約
2 <= r, c <= 10
考えた事
シミュレートする
ソースコード
vector<string> cake; int main() { int R, C; cin >> R >> C; for( int i = 0; i < R; i++ ){ string line; cin >> line; cake.push_back( line ); } int ans = 0; // 横一列 for( int i = 0; i < R; i++ ){ bool ok = true; for( int j = 0; j < C; j++ ){ if( cake[i][j] == 'S' ) ok = false; } if( ok ){ for( int j = 0; j < C; j++ ){ cake[i][j] = '*'; ans++; } } } // 縦一列 for( int j = 0; j < C; j++ ){ bool ok = true; for( int i = 0; i < R; i++ ){ if( cake[i][j] == 'S' ) ok = false; } if( ok ){ for( int i = 0; i < R; i++ ){ if( cake[i][j] != '*' ) ans++; } } } cout << ans << endl; }