感觉逻辑没有错呀。不知道为啥。例子:400, 400没过。正方形是正确的
查看原帖
感觉逻辑没有错呀。不知道为啥。例子:400, 400没过。正方形是正确的
835960
dongtian楼主2023/11/11 21:33
#include<stdio.h>

int main() {
	int n, m;
	scanf("%d%d", &n, &m);
	int i, l, j, znum, cnum, n1, m1;
	l = 1;
	znum = 0;//正方形数量
	cnum = 0;//长方形数量
	n1 = n;//行数
	m1 = m;//列数
	for(i = 1;i <= n;i ++) {//用行数来排
		if(m > n1) {
			znum += ( 2 * m - n1 + 1 ) * n1 / 2;
		}
		else {
			znum += (1 + m) * m / 2;
		}
		n1 --;
	}
	for(i = 1;i <= m;i ++) {//最左边的位置
		for(j = 0;j <= m - i;j ++) {//长度
			cnum += n * (n + 1) / 2;
		}
	}
	cnum -= znum;
	printf("%d %d", znum, cnum);
	return 0;
}
2023/11/11 21:33
加载中...