Submission #45547


ソースコード

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
#include<bits/stdc++.h>
#define FOR(i,n) for(int i=0;i<n;i++)
#define SFOR(i,a,b) for(int i=a;i<b;i++)
#define elif(a) else if(a)
#define INF INT_MAX
#define F first
#define S second
#define endl '\n'
using namespace std;
typedef long long ll;
typedef pair<int,int>P;
int h,w,ans;
char m[51][51];
int dfs(int now,int cnt,int blflg){
if(now==h-1 && blflg) return cnt;
else if(now==h-1) return INF;
int b=0,r=0,whi=0;
FOR(i,w){
if(m[now][i]=='R') r++;
else if(m[now][i]=='B') b++;
else whi++;
}
if(!blflg){
return min(dfs(now+1,cnt+r+b,0),dfs(now+1,cnt+whi+r,1));
}else if(blflg==1){
return min(dfs(now+1,cnt+whi+r,1),dfs(now+1,cnt+whi+b,2));
}else{
return dfs(now+1,cnt+whi+b,2);
}
}
int main(){
cin.tie(0);
ios::sync_with_stdio(false);
cin>>h>>w;
FOR(y,h){
FOR(x,w){
cin>>m[y][x];
if(y==0 && m[y][x]!='W') ans++;
else if(y==h-1 && m[y][x]!='R') ans++;
}
}
cout<<dfs(1,ans,0)<<endl;
return 0;
}

ステータス

項目 データ
問題 0259 - ロシアの旗 (Russian Flag)
ユーザー名 Zzz..ei1704..Zzz
投稿日時 2018-12-08 16:32:13
言語 C++14
状態 Accepted
得点 5
ソースコード長 1021 Byte
最大実行時間 32 ms
最大メモリ使用量 636 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 32 ms 604 KB
1
2016-yo-t3-in2.txt AC 19 ms 552 KB
2
2016-yo-t3-in3.txt AC 15 ms 636 KB
3
2016-yo-t3-in4.txt AC 25 ms 456 KB
4
2016-yo-t3-in5.txt AC 18 ms 532 KB
5
2016-yo-t3-in_s1.txt AC 14 ms 484 KB
2016-yo-t3-in_s2.txt AC 28 ms 444 KB