题解 P7280 【[COCI2020-2021#4] Pizza】
思路
正解(?):桶(?)
看完题目后,第一眼就发现,这不就是道水模拟吗(雾)
由于数据范围小的很
所以我们考虑用一个桶来记录
for(int i=1;i<=n;i++) scanf("%d",&a[i]),t[a[i]]=1;
接下来,当输入披萨的配料时,用一个标记来说明当前披萨有无
for(int j=1;j<=k;j++){
scanf("%d",&x);
if(t[x]) trap=1;
}
没错就是这么简单,接下来放出AC代码
时间复杂度
AC代码(有注释)
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
int a[105],b[105],t[105];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]),t[a[i]]=1;//输入Mirko不喜欢的配料,并用桶标记
scanf("%d",&m);
for(int i=1;i<=m;i++){
int k,x,trap=0;scanf("%d",&k);//k代表当前披萨有几个配料,x代表是哪种配料,trap标记当前披萨有无Mirko不喜欢的配料
for(int j=1;j<=k;j++){
scanf("%d",&x);
if(t[x]) trap=1;//如果当前配料Mirko不喜欢,则标记为1
}
if(trap==0) ans++;//如果没有被标记,则ans++
}
printf("%d",ans);
}
蒟蒻的第一篇题解,望管理员通过