点击跟博主一起玩(zuo)耍(si)
这道题没什么要说的,简单的队列练习。注意判断入队的条件是队列中不存在这个元素。并且还有一点要注意的是从队列中弹出后要及时修改标记数组。
代码
#include <cstdio>
using namespace std;
int n,m,in[500],top,ans;
bool check(int x)
{
for(int i=1;i<=m;i++)
if(x==in[i])
return true;
return false;
}
int main()
{
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++)
in[i]=-1;
for(int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
if(!check(x))
{
if(top+1<=m)
top+=1;
else
top=1;
in[top]=x;
ans++;
}
}
printf("%d",ans);
return 0;
}