Submission #02262
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #include <bits/stdc++.h> using namespace std; int n, m; char mas[111][111]; int w[111] = {0}; int r[111] = {0}; int b[111] = {0}; int dp( int now, int p, int q) { if (now > n) { return 1 << 30; } int ret; if (now == n && p == 1 && q == 1) { return (0); } if (p == 0 && q == 0) { if (now != 0) { ret = min(dp(now+1, 0, 0)+r[now]+b[now], dp(now+1, 1, 0)+w[now]+r[now]); } else { ret = dp(now+1, 0, 0)+r[now]+b[now]; } } else if (p == 1 && q == 0) { ret = min(dp(now+1, 1, 0)+w[now]+r[now], dp(now+1, 1, 1)+w[now]+b[now]); } if (p == 1 && q == 1) { ret = dp(now+1, 1, 1)+b[now]+w[now]; } return ret; } int main() { cin >> n >> m; for ( int i = 0; i < n; i++) { cin >> mas[i]; for ( int j = 0; j < m; j++) { if (mas[i][j] == 'W' ) { w[i]++; } else if (mas[i][j] == 'B' ) { b[i]++; } else { r[i]++; } } } cout << dp(0, 0, 0) << endl; } |
ステータス
項目 | データ |
---|---|
問題 | 0259 - ロシアの旗 (Russian Flag) |
ユーザー名 | ei1439 |
投稿日時 | 2015-12-14 15:24:21 |
言語 | C++11 |
状態 | Accepted |
得点 | 5 |
ソースコード長 | 1029 Byte |
最大実行時間 | 16 ms |
最大メモリ使用量 | 668 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | INPUT1 | 1 / 1 | *in1.txt |
2 | INPUT2 | 1 / 1 | *in2.txt |
3 | INPUT3 | 1 / 1 | *in3.txt |
4 | INPUT4 | 1 / 1 | *in4.txt |
5 | INPUT5 | 1 / 1 | *in5.txt |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # | ||||
---|---|---|---|---|---|---|---|---|
2016-yo-t3-in1.txt | AC | 12 ms | 476 KB |
1
|
||||
2016-yo-t3-in2.txt | AC | 12 ms | 444 KB |
2
|
||||
2016-yo-t3-in3.txt | AC | 14 ms | 536 KB |
3
|
||||
2016-yo-t3-in4.txt | AC | 15 ms | 632 KB |
4
|
||||
2016-yo-t3-in5.txt | AC | 16 ms | 600 KB |
5
|
||||
2016-yo-t3-in_s1.txt | AC | 13 ms | 572 KB | |||||
2016-yo-t3-in_s2.txt | AC | 14 ms | 668 KB |