20分 求调
查看原帖
20分 求调
1558170
_chiyu_1236_楼主2024/11/3 19:29

在某种程度上怀疑自己的思路有问题哈

某年某月某日某小时某分某在重新回顾某题时小小思考了一会儿,然后觉得这题太简单了,于是某准备写写

思路大概是这样的:

记录所有地毯的左下角和右上角

如果那一个坐标包括在地毯左下角和右上角之间就sum++

#include <cstdio>
int n,a,b;
long long sum=0;
struct item{
	int x1,y1;
	int x2,y2;
}f[(int)1e4+1000];
int main(){
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d%d%d%d",&f[i].x1,&f[i].y1,&f[i].x2,&f[i].y2);
		f[i].x2+=f[i].x1;
		f[i].y2+=f[i].y1;
	}
	scanf("%d%d",&a,&b);
	for(int i=0;i<n;i++){
		if(a<=f[i].x2&&a>=f[i].x1&&b<=f[i].y2&&b>=f[i].y1)sum++;//核心代码
	}
	if(sum)printf("%lld",sum);
	else printf("-1");
	return 0;
}
2024/11/3 19:29
加载中...