761 2022. 01. 09 16:19:23 Babják Péter Táblatörés cpp11 Elfogadva 50/50 63ms 15772 KiB
#include <bits/stdc++.h>
#define MAXN 31
using namespace std;
int a[MAXN][MAXN];
int f[MAXN][MAXN][MAXN][MAXN];
int dp[MAXN][MAXN][MAXN][MAXN];
//start 15:25
int n,m;
bool inco(int i,int j,int k,int l)
{
	if(i<0 || j<0 || k<0 || l<0)return 1;
	if(i>=n || j>=m || k>=n || l>=m)return 1;
	if(k<i || l<j)return 1;
	return 0;
}
int rek(int i,int j,int k,int l)
{
	if(inco(i,j,k,l))return 0;
	if(dp[i][j][k][l]!=0)return dp[i][j][k][l];
	int x,y,z,v;
	x=f[i][j][i][l]+min(min(rek(i+2,j,k,l),rek(i+1,j+1,k,l)),min(rek(i+1,j,k-1,l),rek(i+1,j,k,l-1)));
	y=f[i][j][k][j]+min(min(rek(i+1,j+1,k,l),rek(i,j+2,k,l)),min(rek(i,j+1,k-1,l),rek(i,j+1,k,l-1)));
	z=f[i][l][k][l]+min(min(rek(i+1,j,k,l-1),rek(i,j+1,k,l-1)),min(rek(i,j,k-1,l-1),rek(i,j,k,l-2)));
	v=f[k][j][k][l]+min(min(rek(i+1,j,k-1,l),rek(i,j+1,k-1,l)),min(rek(i,j,k-2,l),rek(i,j,k-1,l-1)));
	dp[i][j][k][l]=max(max(x,v),max(y,z));
	return dp[i][j][k][l];
}
int cnt(int x,int b,int c,int d)
{
	int sum=0;
	for(int i=x;i<=c;i++)
	{
		for(int j=b;j<=d;j++)
		{
			sum+=a[i][j];
		}
	}
	return sum;
}
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			cin>>a[i][j];
		}
	}
	int sum=0;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			for(int k=0;k<n;k++)
			{
				for(int l=0;l<m;l++)
				{
					if(inco(i,j,k,l)==0)
					{
						f[i][j][k][l]=cnt(i,j,k,l);
					}
				}
			}
		}
	}
	int ans=rek(0,0,n-1,m-1);
	cout<<ans<<endl;
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 2092 KiB
2 Elfogadva 0/0 43ms 13864 KiB
3 Elfogadva 2/2 2ms 2160 KiB
4 Elfogadva 2/2 1ms 2264 KiB
5 Elfogadva 1/1 1ms 2000 KiB
6 Elfogadva 1/1 2ms 3456 KiB
7 Elfogadva 1/1 2ms 2524 KiB
8 Elfogadva 2/2 2ms 3304 KiB
9 Elfogadva 3/3 3ms 4076 KiB
10 Elfogadva 3/3 10ms 7348 KiB
11 Elfogadva 3/3 21ms 10380 KiB
12 Elfogadva 3/3 21ms 10380 KiB
13 Elfogadva 4/4 43ms 13976 KiB
14 Elfogadva 4/4 45ms 13976 KiB
15 Elfogadva 4/4 61ms 15764 KiB
16 Elfogadva 5/5 59ms 15632 KiB
17 Elfogadva 5/5 61ms 15768 KiB
18 Elfogadva 5/5 61ms 15772 KiB
19 Elfogadva 1/1 61ms 15644 KiB
20 Elfogadva 1/1 63ms 15652 KiB