应该不同于题解的做法,含思路,认为没有错,但是过不了样例(求查错)
查看原帖
应该不同于题解的做法,含思路,认为没有错,但是过不了样例(求查错)
524801
不食嗟来之食楼主2022/10/21 16:46
#include<iostream>
#include<cstdio>
using namespace std;
const int N=105;
int f[N][N],f2[N][N];
int n,ans;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		for(int j=x;j<=n;j++){
			f[y][j]++;
		}
		for(int j=y;j<=n;j++){
			f[j][x]++;
		}
		for(int j=x;j>=1;j--){
			f2[y][j]++;
		}
		for(int j=y;j>=1;j--){
			f2[j][x]++;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			for(int i2=i+1;i2<=n;i2++){
				for(int j2=j+1;j2<=n;j2++){
					ans=max(ans,f[j2][i]-f[j-1][i]+
								f[j][i2]-f[j][i-1]+
								f2[j2][i2]-f2[j][i2-1]+
								f2[j2][i2]-f2[j2][i-1]);
				}
			}
		}
	}
	printf("%d",ans);
	return 0;
}

每加入一个点,像四个面延展跑点,然后n^4的判读边界内是否是最优解

2022/10/21 16:46
加载中...