d518: 文字抄寫 II

Posted on Thu, Dec 23, 2021 進階程設課程
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int num;
    string s;
    map<string,int> m;
    while(cin>>num){
        int index=1;
        for(int i=0;i<num;i++){
            cin>>s;
            if(m.count(s)!=0){
                cout<<"Old! "<<m[s]<<endl;
            }else{
                m[s]=index;
                cout<<"New! "<<index<<endl;
                index++;
            }
        }
        m.clear();
    }
    return 0;
}

一次輸出版

#include <bits/stdc++.h>

using namespace std;
string news="New! ";
string olds="Olds! ";

int main()
{
    int num;
    string s;
    map<string,int> m;
    queue<pair<string,int>> q;
    while(cin>>num){
        if(num==0) break;
        int index=1;
        for(int i=0;i<num;i++){
            cin>>s;
            if(m.count(s)!=0){

                q.push(make_pair("Old! ",m[s]));
                //cout<<"Old! "<<m[s]<<endl;
            }else{
                m[s]=index;
                q.push(make_pair("New! ",index));
                //cout<<"New! "<<index<<endl;
                index++;
            }
        }
        m.clear();
    }
    while(q.empty()==0){
        cout<<q.front().first<<q.front().second<<endl;
        q.pop();
    }
    return 0;
}

prinf版

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int num;
    string s;
    map<string,int> m;
    while(cin>>num){
        int index=1;
        for(int i=0;i<num;i++){
            cin>>s;
            if(m.count(s)!=0){
                printf("Old! %d",m[s]);
                //cout<<"Old! "<<m[s]<<endl;
            }else{
                m[s]=index;
                printf("New! %d",index);
                //cout<<"New! "<<index<<endl;
                index++;
            }
        }
        m.clear();
    }
    return 0;
}
d518. 文字抄寫 II - 高中生程式解題系統