萌新妹子刚学OI Wa On # 6 7 8 9求调
查看原帖
萌新妹子刚学OI Wa On # 6 7 8 9求调
374756
忘怜城羡楼主2024/3/26 21:37
#include<bits/stdc++.h>
using namespace std;
char ch[61][61];
int dp[61][61][3001],f[61][61],sum[61][61][2];
int main()
{
	int n,m,t;
	scanf("%d%d%d",&n,&m,&t);
	for(int i(1);i<=n;++i)
		for(int j(1);j<=m;++j)
		{
			cin>>ch[i][j];
			sum[i][j][0]=sum[i][j-1][0]+(ch[i][j]=='0');
			sum[i][j][1]=sum[i][j-1][1]+(ch[i][j]=='1');
		}
	for(int i(1);i<=n;++i)
	{
		for(int j(1);j<=m;++j)
			for(int k(0);k<j;++k)
				for(int cnt(0);cnt<t;++cnt)
					dp[i][j][cnt+1]=max(dp[i][j][cnt+1],dp[i][k][cnt]+max(sum[i][j][0]-sum[i][k][0],sum[i][j][1]-sum[i][k][1]));
		for(int j(0);j<=t;++j)
			for(int k(1);j+k<=t;++k)
				f[i][j+k]=max(f[i][j+k],f[i-1][j]+dp[i][m][k]);
	}
	printf("%d",f[n][t]);
	return 0;
}
2024/3/26 21:37
加载中...