暴力代码求调试!感觉逻辑没问题但是不对
查看原帖
暴力代码求调试!感觉逻辑没问题但是不对
993320
siyijiaozhu楼主2023/9/23 23:58
#include<bits/stdc++.h>
using namespace std;
struct code{
	int begin;
	int end;
};
code nei[1000020];
code wei[1000020];
vector<code>nei1;
vector<code>wei1;
int cmp(code a,code b){
	return a.begin<b.begin;
}
int main(){
	int n,m1,m2;
	int cnt=0;
	int max1=0;
	cin>>n>>m1>>m2;
	for(int i=1;i<=m1;i++){
		scanf("%d%d",&nei[i].begin,&nei[i].end);
	}
	for(int i=1;i<=m2;i++){
		scanf("%d%d",&wei[i].begin,&wei[i].end);
	}
	sort(nei+1,nei+m1+1,cmp);
	sort(wei+1,wei+1+m2,cmp);
	for(int k=0;k<=(n/2+1);k++){//国内
		int j=n-k;//国际
		for(int i=1;i<=m1;i++){
			if(nei1.size()<=k){
				nei1.push_back(nei[i]);
				cnt++;
			}
			else{
				for(int s=0;s<k;s++){
					if(nei[i].begin>nei1[s].end){
						nei1[s]=nei[i];
						cnt++;
					}
						
				}
			}
		}
		for(int i=1;i<=m2;i++){
			if(wei1.size()<=j){
				wei1.push_back(wei[i]);
				cnt++;
			}
			else{
				for(int s=0;s<j;s++){
					if(wei[i].begin>wei1[s].end){
						wei1[s]=wei[i];
						cnt++;
					}
						
				}
			}
		}
		max1=max(max1,cnt);
		cnt=0;
	}
	cout<<max1;
	return 0;
}
2023/9/23 23:58
加载中...