寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

Aizu Online Judge in C++ #ALDS1_4_A : Linear Search

Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。

・問題 "Linear Search"
https://onlinejudge.u-aizu.ac.jp/problems/ALDS1_4_A
n 個の整数を含む数列 S と、q 個の異なる整数を含む数列 T を読み込み、T に含まれる整数の中で S に含まれるものの個数 C を出力するプログラムを作成してください。

僕が作成、提出したコードは、以下のとおりです。

Aizu Online Judge in C++ #ALDS1_4_A : Linear Search
/*
Aizu Online Judge in C++ #ALDS1_4_A : Linear Search
https://onlinejudge.u-aizu.ac.jp/problems/ALDS1_4_A
 提出コードの解答例
 https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
void LS(int n,int q,vector<int> s,vector<int> t){
    sort(s.begin(),s.end());
    s.erase(unique(s.begin(),s.end()),s.end());
    sort(t.begin(),t.end());
    t.erase(unique(t.begin(),t.end()),t.end());
    int cnt=0;
    for(int i=0;i<s.size();i++){
        for(int j=0;j<t.size();j++){
            if(s[i]==t[j]){
                cnt++;
                break;
            }
        }
    }
    cout<<cnt<<endl;
}
int main(void){
    int n;
    cin>>n;
    vector<int> s(n);
    for(int i=0;i<n;i++){
        cin>>s[i];
    }
    int q;
    cin>>q;
    vector<int> t(q);
    for(int i=0;i<q;i++){
        cin>>t[i];
    }
    LS(n,q,s,t);
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/