#include "bits/stdc++.h"
using namespace std;
#define ll long long
const int inf=1e9+7;
char a[1002][12];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>a[i][j];
}
}
vector<int> dp(1<<m,inf);
vector<int> prev(1<<m);
dp[0]=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
for(int k=0;k<(1<<m);k++)
{
if(k&(1<<j))
{
if(a[i][j]=='.') prev[k]=inf;
else prev[k]=min(dp[k],dp[k^(1<<j)]+1);
}
else
{
prev[k]=min(dp[k],dp[k^(1<<j)]);
if(a[i][j]=='#' && (j==0 || (k&(1<<(j-1))) || a[i][j-1]=='.'))
{
prev[k]++;
}
}
}
dp=prev;
}
}
cout<<*min_element(dp.begin(),dp.end());
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |