20分 求助
查看原帖
20分 求助
1265678
Lrhnb楼主2024/7/22 16:06

只有前两个测试点对了

#include<bits/stdc++.h>
using namespace std;
struct xf{
	int f;
	int p;
	bool y=0;
}xxf[105];
struct df{
	int f;
	int p;
	int c;
	bool y=0;
}ddf[105];
int n,m,r,a,b=0,s=0;
int main(){
	cin>>n>>m>>r;
	for(int i=1;i<=n;i++){
		cin>>ddf[i].f;
	}
	for(int i=1;i<=n;i++){
		cin>>ddf[i].p;
	}
	for(int i=1;i<=n;i++){
		cin>>xxf[i].f;
	}
	for(int i=1;i<=n;i++){
		cin>>xxf[i].p;
	}
	for(int i=1;i<=n;i++){
		cin>>a;
		ddf[a].c=i;
	}
	for(int i=1;i<n;i++){
		for(int j=1;j<n-i+1;j++){
			if(ddf[j].c>ddf[j+1].c){
				swap(ddf[j],ddf[j+1]);
			}
			if(xxf[j].p>xxf[j+1].p){
				swap(xxf[j],xxf[j+1]);
			}
		}	
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			ddf[i].y=1;
			if(ddf[i].p<xxf[j].p&&!xxf[j].y&&ddf[i].f==xxf[i].f){
				xxf[j].y=1;
			}
		}
	}
	for(int i=1;i<=n;i++){
		if(!xxf[i].y){
			s++;
		}
	}
	cout<<s;
	return 0;
}

2024/7/22 16:06
加载中...