社区讨论

P11011 「ALFR Round 4」A 点的覆盖 80分求调!

题目总版参与者 4已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@m0gpf3nn
此快照首次捕获于
2024/08/30 20:42
2 年前
此快照最后确认于
2025/11/04 21:59
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#define fastio ios::sync_with_stdio(0),cin.tie(NULL),cout.tie(NULL)
#define MOD 1000000007
using namespace std;
typedef long long ll;
const int maxn=1e5+10;

int n,sx,sy,ex,ey;
int a[1000010],b[1000010];
bool f;
int main()
{
	fastio;
	cin>>n>>sx>>sy>>ex>>ey;
	int left,right,up,down;
	left=INT_MAX;
	right=-INT_MAX;
	up=-INT_MAX;
	down=INT_MAX;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i]>>b[i];
		if(i>1 && a[i]!=a[i-1]) f=1;
		left=min(left,a[i]);
		right=max(right,a[i]);
		up=max(up,b[i]);
		down=min(down,b[i]);
	}
	int yy=(abs(sy-up)+1)*(abs(down-ey)+1);
	int xx=(abs(sx-left)+1)*(abs(ex-right)+1);
	if(f==1)
		cout<<xx*yy%MOD;
	if(f==0)
	{
		int kk=(abs(sx-left))*(abs(ex-right)+1)+abs(ex-right);
		cout<<kk*yy%MOD;
	}
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...