페이지

1764번: 듣보잡

https://www.acmicpc.net/problem/1764


$O(l(n+m)lg(n+m))$

사전순 정렬을 이용한다.


#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
string s[1000000];
int n, m, r;
int main() {
    scanf("%d%d", &n, &m);
    for (int i = 0; i < n + m; i++) cin >> s[i];
    sort(s, s + n + m);
    for (int i = 1; i < n + m; i++) r += s[i] == s[i - 1];
    cout << r << endl;
    for (int i = 1; i < n + m; i++) if (s[i] == s[i - 1]) cout << s[i] << endl;
    return 0;
}

댓글 없음 :

댓글 쓰기