这个程序我们可以用二维数组来做,代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[5][105],b[5][105];
int main()
{
int n,m,r;
cin >> n >> m >> r;
for(int i=1; i<=2; i++)//输入扶苏的花色和点数
{
for(int j=1; j<=n; j++)
{
cin >> a[i][j];
}
}
for(int i=1; i<=2; i++)//输入小F的花色和点数 。
{
for(int j=1; j<=n; j++)
{
cin >> b[i][j];
}
}
for(int i=1;i<=n-1;i++)//用排序来比较大小 。
{
for(int j=1;j<=n-i;j++)
{
if(b[2][j]>b[2][j+1])
{
swap(b[2][j],b[2][j+1]);
swap(b[1][j],b[1][j+1]);
}
}
}
int x,sum=0;
for(int i=1; i<=n; i++)
{
cin >> x;
for(int j=1;j<=n;j++)
{
if(a[1][x]==b[1][j]&&a[2][x]<b[2][j])//如果满足条件那么sum=sum+1。
{
sum++;
b[2][j]=0;
break;
}
}
}
int msn=n-sum;//小F剩下的牌。
cout << msn;//输出
return 0;
}
希望有大佬指点指点,非常感谢。