WARush

SRMの結果とか、解けた問題のコードを書いていきます

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;
}