#33771: 不用串鏈方法


ocit914460 (BRUH)

學校 : 不指定學校
編號 : 197012
來源 : [140.113.89.170]
最後登入時間 :
2023-09-16 15:32:47
j353. 瀏覽網站 (Web) -- TOI練習賽202211新手組第2題 | From: [1.168.150.144] | 發表日期 : 2023-02-01 21:57

用串鏈比較好吧,你如果是個不太需要做這種的,被迫寫的人,用其他方式寫較快。

include<iostream>
using namespace std;
const int MAX=10002;                                        //他說要多少個輸的數值
int main()
{
    int a,b;                                                             //輸的
    int i=0;                                                            //記錄在輸的第幾項
    int c[MAX];
    for(int j=0;j<MAX;j++)
    {
        c[j]=-2;                                                        //不可能被輸的(!=-1,...2,...,100)
    }
    while(cin>>a>>b)
    {
        if(a==-1)break;
        else if(a==1)
        {
            c[i]=b;                                                      //記下
            i++;
        } 
        else if(a==0)
        {
            for(int j=0;j<MAX;j++)
            {
                if(c[j]==b)
                {
                    c[j]=-2;                                            //把之前輸入的改回去
                }
            }
        }
    }
    int sum=0;
    for(int j=0;j<MAX;j++)
    {
        if(c[j]!=-2)
        {
            sum++;
        }
    }
    cout<<sum<<endl;
    return 0;
}

 
#33772: Re: 不用串鏈方法


ocit914460 (BRUH)

學校 : 不指定學校
編號 : 197012
來源 : [140.113.89.170]
最後登入時間 :
2023-09-16 15:32:47
j353. 瀏覽網站 (Web) -- TOI練習賽202211新手組第2題 | From: [1.168.150.144] | 發表日期 : 2023-02-01 22:02

用串鏈比較好吧,你如果是個不太需要做這種的,被迫寫的人,用其他方式寫較快。

include
using namespace std;
const int MAX=10002;                                        //他說要多少個輸的數值
int main()
{
    int a,b;                                                             //輸的
    int i=0;                                                            //記錄在輸的第幾項
    int c[MAX];
    for(int j=0;j    {
        c[j]=-2;                                                        //不可能被輸的(!=-1,...2,...,100)
    }
    while(cin>>a>>b)
    {
        if(a==-1)break;
        else if(a==1)
        {
            c[i]=b;                                                      //記下
            i++;
        } 
        else if(a==0)
        {
            for(int j=0;j            {
                if(c[j]==b)
                {
                    c[j]=-2;                                            //把之前輸入的改回去
                }
            }
        }
    }
    int sum=0;
    for(int j=0;j    {
        if(c[j]!=-2)
        {
            sum++;
        }
    }
    cout<    return 0;
}

嗯...我記得可以用串鏈寫,但我有點忘了==

 
ZeroJudge Forum