30求助大佬,3-9全部tle
查看原帖
30求助大佬,3-9全部tle
935299
yashi258楼主2023/2/21 12:41

下边是代码

#include<stdio.h>
int min(int a,int b)
{
	if (a > b)
		return b;
	else
		return a;
}
int max(int a, int b)
{
	if (a > b)
		return a;
	else
		return b;
}
int main()
{
	//先求所有矩形
	//固定左下角
	int n, m;
	//int arr[5000][5000] = { 0 };
	scanf("%d%d", &n, &m);
	int i, j,sum=0;
	int z = 0;
	//定下左下顶点,又下顶点则为(i+x,j+y),其中i,j均不为0,且i+x<=n;
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{
			int k, l = 0;
			for (k = 1; k <= n - i; k++)
			{
				for (l = 1; l <= m - j; l++)
				{
					sum++;
				}
			}
		}
	}
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= m; j++)
		{
			z += min(i, j);
		}
	}
	//定下右下顶点,求左上顶点,共有min(i,j)种可能,后求和;
	printf("%d %d",z,sum-z );
	return 0;
}

麻烦大佬帮忙看下

2023/2/21 12:41
加载中...