题解 | #A.Alive Fossils# 2023牛客暑期多校8

A.Alive Fossils

签到

题目大意

给定 n n n 个字符串集,求它们的交集,按字典序输出

解题思路

逐一处理字符串集,开个 map 记录此前的交集,从当前集合中选走元素即可

时间复杂度

O ( n ) O(n) O(n)

参考代码

参考代码为已AC代码主干,其中部分功能需读者自行实现

void solve()
{
    ll n;cin >> n;ll tn;cin >> tn;
    map mp;string ts;
    vector v;
    FORLL(i,1,tn){
        cin >> ts;
        mp[ts]++;
        v.emplace_back(ts);
    }
    FORLL(i,2,n){
        v.clear();
        cin >> tn;
        FORLL(j,1,tn){
            cin >> ts;
            if(mp[ts]) v.emplace_back(ts);
        }
        mp.clear();
        for(auto s:v) mp[s]++;
    }
    SORT(v);
    cout << v.size() << endl;
    for(auto s:v) cout << s << endl;
}

你可能感兴趣的:(2023牛客暑期多校,c++)