问题标题: 酷町堂:1382

0
0
王韫之
王韫之
修练者
修练者

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;

int main()
{
    int w=0,n,i,j,t,a[2100],k,m,max=-1,min=10000;
    float a_1,c_1,b_1,r=0,v,s=0;
    cin>>m>>n;
    for(i=1;i<=m;i++)
    {
        a[i]=-1;
    }
    k=1;
    for(i=1;i<=n;i++)
    {
        cin>>t;
        r=0;
        
        if(k==m)
        k=1;
        for(j=1;j<=m;j++)
        if(t==a[j])    
        {
            r=1;
            break;
        }
        if(r==0)
        {
            s++;
            a[k]=t;
            k++;
        }
        
    }
    cout<<s;
    
}

58分,求大佬找错。


1
汤恩语
汤恩语
初级守护
初级守护

定义一个链表

定义答案ans,初始值为零

对于每个输入的单词,执行:

    定义一个标志位,初始值为false

    遍历链表

        如果当前元素为输入的单词

            标志位改为true

            跳出循环

    如果标志位为false

        ans++;

        如果链表长度等于m

            删除链表表头

            在链表尾端插入新单词

        否则

            直接插入新单词

输出ans

    

 

0
0
0
0
董宇昊
董宇昊
初级启示者
初级启示者

楼上你是被盗号了吧~

我要回答