欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

洛谷-P1003 铺地毯

程序员文章站 2022-05-09 13:54:01
...

鉴于本题存在数据量较大的样例,无法使用地图染色法通过该样例(地图染色法只可以通过50%的样例)。

在元素量过大的数组无法创建的情况下,使用了反向循环加IF判断的方法,简单地解决了该题。

 

Solution:


#include <stdio.h>

int main()
{
	int n,x,y;
	int a[10000],b[10000],g[10000],k[10000];
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d%d%d%d",&a[i],&b[i],&g[i],&k[i]);
	}
	scanf("%d%d",&x,&y);
	
	
	int x_right,y_high;
	int number = -1;
	for(int i=n-1;i>=0;i--){
		x_right = a[i]+g[i];
		y_high = b[i]+k[i];
		if(x>=a[i]&&x<=x_right&&y>=b[i]&&y<=y_high){
			number = i+1;
			break;
		}
	}
	
	printf("%d",number);
	
	return 0;
}
 

 

相关标签: 洛谷 洛谷