一个等于毁终生
  • 板块灌水区
  • 楼主ArktischeKatze
  • 当前回复17
  • 已保存回复17
  • 发布时间2021/10/26 18:54
  • 上次更新2023/11/4 02:12:12
查看原帖
一个等于毁终生
369561
ArktischeKatze楼主2021/10/26 18:54

我的CSP-S第一题 暴力代码

#include<bits/stdc++.h> //rp++
using namespace std;
long long n,m1,m2;
struct plane
{
	int arrive;
	int leave;
};
plane a1[6000],a2[6000];
int maxn=0;
bool cmp(plane f1,plane f2)
{
	if(f2.arrive>f1.arrive)
	return 1;
	return 0;
}
int main()
{
	freopen("airport.in","r",stdin);
	freopen("airport.out","w",stdout);
	cin>>n>>m1>>m2;
	for(int i=1;i<=m1;i++)
	cin>>a1[i].arrive>>a1[i].leave;
	for(int i=1;i<=m2;i++)
	cin>>a2[i].arrive>>a2[i].leave;
	sort(a1,a1+m1+1,cmp);
	sort(a2,a2+m2+1,cmp);
	for(int k=0;k<=n;k++)
	{
		int time1[1000000],time2[1000000];
		for(int r=0;r<=1000000;r++)
		{
			time1[r]=0;
			time2[r]=0;
		}
		int add=0;
		//start1
		for(int i=1;i<=m1;i++)
		{
			if(time1[a1[i].arrive]<k)
			{
				add++;
				for(int j=a1[i].arrive;j<=a1[i].leave;j++)
				time1[j]++;
			}
		}
		
		//start2
		for(int i=1;i<=m2;i++)
		{
			if(time2[a2[i].arrive]<n-k)
			{
				add++;
				for(int j=a2[i].arrive;j<=a2[i].leave;j++)
				time2[j]++;
			}
		}
		
		maxn=max(maxn,add);
	}
	cout<<maxn;
	return 0;
}

注意30-35行,定义0-999999的数组我访问到了1000000,会不会直接爆零(哭晕

2021/10/26 18:54
加载中...