讨论 / 90分 第一个点错了 谁帮帮忙啊
我超爱狼 2013-07-11 01:59:00
点我顶贴 收藏 删除
第一个点总错 谁帮帮忙啊

#include<stdio.h>

int a[101],b[1001],x[1001];

int main()

{

freopen("qixi.in","r",stdin);

freopen("qixi.out","w",stdout);

int m,n,i,k=1,q=0,ans=0;

scanf("%d %d",&m,&n);

for(i=1;i<=n;i++)

{

scanf("%d",&x[i]);

b[x[i]]=-1;

}

for(i=1;i<=n;i++)

{

if(b[x[i]]==-1)

{

if(k<=m)

{

b[x[i]]=1;

a[k]=x[i];

k++;

}

if(k>m)

{

b[x[i]]=1;

q++;

if(q>m) q=1;

b[a[q]]=-1;

a[q]=x[i];

b[x[i]]==1;

}

ans++;

}

}

printf("%d",ans);

fclose(stdin);

fclose(stdout);

return 0;

}

#1 wjcw@2013-07-11 01:59:00
回复 删除
#include<stdio.h>//先进先出

int main()

{

int a[1011],x[111]={0},m,n,i,ll,cs,j,pd,k;

scanf("%d %d",&m,&n);

for(i=1;i<=n;i++)

{

scanf("%d",&a[i]);

}

ll=0;

cs=0;

for(i=1;i<=n;i++)

{

pd=0;

for(j=1;j<=ll;j++)

{

if(a[i]==x[j])

{

pd=1;

break;

}

}

if(pd!=1)

{

if(ll<m)

{

ll++;

x[ll]=a[i];

cs++;

}

else

{

for(k=2;k<=ll;k++)

{

x[k-1]=x[k];

}

x[ll]=a[i];

cs++;

}

}

else

{

continue;

}

}

printf("%d",cs);

getchar();

getchar();

}

查看更多回复
提交回复