Submission #18434713


Source Code Expand

/*
after dusk passed,
there is a starry sky.
*/
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define m_k make_pair
using namespace std;
const int N=200;
int n,m,dp[N][N][N][11];
char a[N][N];
inline int read()
{
	int f=1,x=0;char s=getchar();
	while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}
	while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();}
	return x*f;
}
inline bool check(int i,int l,int r)
{
	for (int j=l;j<r;j++) if (a[i][j]!=a[i][r]) return 0;
	return 1;
}
signed main()
{
	n=read();m=read();
	for (int i=1;i<=n;i++) scanf("%s",a[i]+1);
	for (int i=n;i>=1;i--)
	{
		for (int l=1;l<=m;l++)
		{
			for (int r=l;r<=m;r++)
			{
				if (!check(i,l,r)) continue;
				if (a[i][l]==a[i+1][l]) dp[i][l][r][0]=dp[i+1][l][r][0]+1;
				else dp[i][l][r][0]=1;
			}
		}
	}
	if (dp[1][1][m][0]==n)
	{
		printf("0\n");
		return 0;
	}
	for (int p=1;p<=15;p++)
	{
		for (int i=1;i<=n;i++)
		{
			for (int l=1;l<=m;l++)
			{
				for (int r=l;r<=m;r++)
				{
					for (int k=l;k<r;k++)
					{
						int num=min(dp[i][l][k][p-1],dp[i][k+1][r][p-1]);
						dp[i][l][r][p]=max(dp[i][l][r][p],num);
					}
					int j=i+dp[i][l][r][p-1];
					dp[i][l][r][p]=max(dp[i][l][r][p],dp[i][l][r][p-1]+dp[j][l][r][p-1]);
				}
			}
		}
		if (dp[1][1][m][p]==n)
		{
			printf("%d\n",p);
			return 0;
		}
	}
}

Submission Info

Submission Time
Task D - Complexity
User SevenDawns
Language C++ (GCC 9.2.1)
Score 1000
Code Size 1355 Byte
Status AC
Exec Time 4719 ms
Memory 253812 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:27:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   27 |  for (int i=1;i<=n;i++) scanf("%s",a[i]+1);
      |                         ~~~~~^~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1000 / 1000
Status
AC × 2
AC × 42
Set Name Test Cases
Sample sample01.txt, sample02.txt
All sample01.txt, sample02.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, sample01.txt, sample02.txt
Case Name Status Exec Time Memory
in01.txt AC 2542 ms 202072 KiB
in02.txt AC 3786 ms 212968 KiB
in03.txt AC 2907 ms 194796 KiB
in04.txt AC 3763 ms 217020 KiB
in05.txt AC 2442 ms 181580 KiB
in06.txt AC 3301 ms 215684 KiB
in07.txt AC 4719 ms 253396 KiB
in08.txt AC 4698 ms 253748 KiB
in09.txt AC 238 ms 252492 KiB
in10.txt AC 3 ms 3524 KiB
in11.txt AC 1273 ms 252616 KiB
in12.txt AC 1530 ms 253084 KiB
in13.txt AC 1529 ms 253212 KiB
in14.txt AC 1792 ms 253208 KiB
in15.txt AC 1787 ms 253144 KiB
in16.txt AC 1791 ms 253136 KiB
in17.txt AC 1640 ms 168424 KiB
in18.txt AC 1223 ms 151120 KiB
in19.txt AC 1103 ms 149300 KiB
in20.txt AC 848 ms 139708 KiB
in21.txt AC 4411 ms 253796 KiB
in22.txt AC 236 ms 252496 KiB
in23.txt AC 2232 ms 253192 KiB
in24.txt AC 3828 ms 253812 KiB
in25.txt AC 2100 ms 200812 KiB
in26.txt AC 3238 ms 253188 KiB
in27.txt AC 2723 ms 218284 KiB
in28.txt AC 2969 ms 237200 KiB
in29.txt AC 1994 ms 253204 KiB
in30.txt AC 1980 ms 253140 KiB
in31.txt AC 2805 ms 253264 KiB
in32.txt AC 2805 ms 253204 KiB
in33.txt AC 3090 ms 253176 KiB
in34.txt AC 3112 ms 253264 KiB
in35.txt AC 3487 ms 253204 KiB
in36.txt AC 3494 ms 253016 KiB
in37.txt AC 4378 ms 253784 KiB
in38.txt AC 4360 ms 253808 KiB
sample01.txt AC 2 ms 3684 KiB
sample02.txt AC 3 ms 3832 KiB