20分
查看原帖
20分
453220
yangjianli楼主2024/12/14 14:37
#include<bits/stdc++.h>
using namespace std;
int f1[110],f2[110];
int p1[110],p2[110]; 
int use[110];
int main(){
    int n,m,r;
    cin>>n>>m>>r;
    for(int i=1;i<=n;i++) cin>>f1[i]; //输入扶苏的花色 
    for(int i=1;i<=n;i++) cin>>p1[i]; //输入扶苏的点数 
    for(int i=1;i<=n;i++) cin>>f2[i]; //输入小f的花色 
    for(int i=1;i<=n;i++){  //输入小f的点数 
    	cin>>p2[i];
    	use[p2[i]]++; //点数对应的牌有几张 
	} 
    for(int i=1;i<=n;i++){ //输入n张牌 
    	int r;
    	cin>>r; //输入位置 
    	int f=f1[i]; //扶苏当前出的花色 
    	int p=p1[i]; //小f当前出的点数 
    	int minn=1010; //存储最小的点数 
    	for(int j=1;j<=n;j++){ //遍历小f的牌 
    		if(use[p2[j]]>0 && f==f2[j] && p2[j]>p && p2[j]<minn){
    			minn=p2[j];
			}
		}
		if(minn!=1010) use[p2[minn]]--;
	}
	int ans=0;
	for (int i=1;i<=n;++i){
		for(int j=1;j<=use[i];j++) ans++;
	}
	cout<<ans;
    return 0;
}
2024/12/14 14:37
加载中...