delete
解题思路
若第二行或第三行没有出现某个数字,那么另外包含这个数字的列一定要删掉,暴力枚举操作即可。
code
#include<iostream>
#include<cstdio>
using namespace std;
int n;
int a[100010];
int b[100010];
int c[100010];
int v[100010];
int s1[100010];
int s2[100010];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
scanf("%d",&b[i]),s1[b[i]]++;
for(int i=1;i<=n;i++)
scanf("%d",&c[i]),s2[c[i]]++;
int flg=1,ans=0;
while(flg)
{
flg=0;
for(int i=1;i<=n;i++)
if(!v[i]&&(!s1[a[i]]||!s2[a[i]]||!s2[b[i]]||!s1[c[i]]))
v[i]=1,s1[b[i]]--,s2[c[i]]--,flg=1,ans++;
}
cout<<ans<<endl;
}