蒟蒻求解,为什么牌号相同也会出牌
查看原帖
蒟蒻求解,为什么牌号相同也会出牌
1259205
kaoxiangnb666楼主2024/7/10 21:33
#include<bits/stdc++.h>
using namespace std;
const int N=520;
int n,m,r,ans;//ans表示剩余卡牌
int f1[N],p1[N],f2[N],p2[N],p[N];//均按题列数组
int main(){
	cin>>n>>m>>r;
	ans=n;
	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];
	}
	for(int i=1;i<=n;i++){
		cin>>p2[i];
	}
	for(int i=1;i<=n;i++){
		cin>>p[i];
	}
	for(int i=1;i<=n;i++){
		int k=i;
		for(int j=i+1;j<=n;j++){
			if(p2[j]<p2[k]){
				k=j;
			}
			if(k!=i){
				int t=p2[i];
				p2[i]=p2[k];
				p2[k]=t;
				t=f2[i];
				f2[i]=f2[k];
				f2[k]=t;
			}
		}
	}//排序
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(f1[p[i]]==f2[j]&&p2[j]>p1[p[i]]){//判断是否出牌
				ans--;
				p2[j]=0;//归零表示此牌已出
			}
		}
	}
	cout<<ans;
	return 0;
} 

必将感激不尽!

2024/7/10 21:33
加载中...