【洛谷题解】 P1696 [USACO18JAN] Blocked Billboard II B

分析

很明显,可以暴力。

我们可以先定义一个整形二维数组,把割草机广告所在的区域的值都改成 1 1 1,再把牛饲料广告所在的区域的值都改成 2 2 2,再找到值为 1 1 1 的区域的最左端、最右端、最上面、最下面,即可计算面积。

code

#include<iostream>
using namespace std;
int color[2005][2005],ax1,ay1,ax2,ay2,bx1,by1,bx2,by2;
int main() {
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>ax1>>ay1>>ax2>>ay2>>bx1>>by1>>bx2>>by2;
	ax1+=1000,ay1+=1000,ax2+=1000,ay2+=1000,bx1+=1000,by1+=1000,bx2+=1000,by2+=1000;
	//这几个坐标的只可能是负数,但是数组下标不能是负数,所以要将它们的值加上1000,使它们成为正数,否则会RE
	for(int i=ax1+1;i<=ax2;++i) for(int j=ay1+1;j<=ay2;++j) color[i][j]=1;
	for(int i=bx1+1;i<=bx2;++i) for(int j=by1+1;j<=by2;++j) color[i][j]=2;
	//覆盖数组的值
	int x1=2010,x2=0,y1=2010,y2=0;
	for(int i=0;i<=2000;i++)
		for(int j=0;j<=2000;j++)
			if(color[i][j]==1) {
				x1=min(x1,i);
				x2=max(x2,i);
				y1=min(y1,j);
				y2=max(y2,j);
			}
	//找到最上面、最下面、最左边、最右边的点
	if(x2>=x1&&y2>=y1) cout<<(x2-x1+1)*(y2-y1+1);
	else cout<<0;
	//计算面积
	return 0;
}

相关推荐

  1. 题解P1696 [USACO18JAN] Blocked Billboard II B

    2024-04-05 22:50:03       29 阅读
  2. 题解 P9183 [USACO23OPEN] FEB B

    2024-04-05 22:50:03       59 阅读
  3. P1697 [USACO18JAN] Lifeguards B 题解

    2024-04-05 22:50:03       47 阅读
  4. P1596 [USACO10OCT] Lake Counting S 题解

    2024-04-05 22:50:03       35 阅读
  5. P2176 [USACO11DEC] RoadBlock S / [USACO14FEB]Roadblock G/S

    2024-04-05 22:50:03       31 阅读
  6. P1234题解

    2024-04-05 22:50:03       36 阅读
  7. P10397题解

    2024-04-05 22:50:03       29 阅读
  8. P10119 题解

    2024-04-05 22:50:03       22 阅读
  9. P3008 [USACO11JAN] Roads and Planes G

    2024-04-05 22:50:03       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-05 22:50:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-05 22:50:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-05 22:50:03       82 阅读
  4. Python语言-面向对象

    2024-04-05 22:50:03       91 阅读

热门阅读

  1. ACWing: 1049 大盗阿福

    2024-04-05 22:50:03       31 阅读
  2. 【CANoe】CAPL_E2E测试-验证报文中的CRC值是否正确

    2024-04-05 22:50:03       38 阅读
  3. 系统交互造成的乱码问题

    2024-04-05 22:50:03       33 阅读
  4. gulp的基本使用(三)

    2024-04-05 22:50:03       34 阅读
  5. mysql 通配符与模式匹配用法详解

    2024-04-05 22:50:03       33 阅读
  6. C++初阶:vector类的模拟实现(含模板)

    2024-04-05 22:50:03       32 阅读
  7. 竖式运算(和我那个计算器一样拉)

    2024-04-05 22:50:03       34 阅读
  8. 拿到运营商给的IP池

    2024-04-05 22:50:03       34 阅读
  9. WebKit结构简介

    2024-04-05 22:50:03       33 阅读
  10. css:阴影效果box-shadow

    2024-04-05 22:50:03       43 阅读