暴力模拟哪里写错了QAQ
查看原帖
暴力模拟哪里写错了QAQ
274607
070714zyz楼主2022/11/17 00:37

本人萌新,今年侥幸过了复赛现在已经不在意满分了,只希望能多拿几分


各位巨佬,帮忙看一下暴力模拟的代码吧QAQ

#include <bits/stdc++.h>
using namespace std;

struct node{
	int in,out;
}a1[100001],a2[100001];     //a1国内区,a2国际区 

int n,m1,m2,ans=-1,xx;

bool cmp(node a,node b) {   //比较函数 
	return a.in<b.in;
}

int maxn(int a,int b,int x) {//手写比较大小 
	if(a>b) return a;
	xx=x;
	return b;
}

int nei(int x) {            //国内区停靠飞机数量 
	int t,b[100001];
	for(int i=1;i<=m1;i++) {
		for(int j=1;j<=x;j++) {
			if(b[j]<=a1[i].in) {
				t++;
				b[j]=a1[i].out;
				break;
			}
		}
	}
	return t;
}

int ji(int x) {            //国际区停靠飞机数量 
	int t,b[100001];
	for(int i=1;i<=m2;i++) {
		for(int j=1;j<=x;j++) {
			if(b[j]<=a2[i].in) {
				t++;
				b[j]=a2[i].out;
				break;
			}
		}
	}
	return t;
}

void search() {           //查询函数 
	for(int i=1;i<=n;i++) {
		ans=maxn(ans,nei(i)+ji(n-i),i);
	}
}

int main() {
	cin>>n>>m1>>m2;
	for(int i=1;i<=m1;i++) {
		cin>>a1[i].in>>a1[i].out;
	}
	for(int i=1;i<=m2;i++) {
		cin>>a2[i].in>>a2[i].out;
	}
	sort(a1+1,a1+m1+1,cmp);
	sort(a2+1,a2+m2+1,cmp);
	search();
	cout<<ans/*<<' '<<xx*/;
	return 0;
}

2022/11/17 00:37
加载中...