Acwing第 39 场周赛完结

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 39 场周赛完结相关的知识,希望对你有一定的参考价值。

目录

4302. 元素分类【签到】


https://www.acwing.com/problem/content/4305/

#include<bits/stdc++.h> 
using namespace std;
int main(void)

	int sum1=0,sum2=0;
	int n,x; cin>>n;
	while(n--)
	
	    cin>>x;
	    if(x>=0) sum2+=x;
	    else sum1+=x;
	
	cout<<sum2-sum1;
	return 0;

4303. 链表【链表】


https://www.acwing.com/problem/content/4306/

#include<bits/stdc++.h> 
using namespace std;
int n;
map<string,string>mp;
map<string,vector<string>>ans;
string find(string a) 

    if(mp[a]=="") return a;
    return mp[a];

int main(void)

    cin>>n;
    while(n--)
    
        string a,b; cin>>a>>b;
        if(mp[a]=="") ans[a].push_back(a);
        mp[a]=find(a),mp[b]=find(a);
        ans[mp[a]].push_back(b);
    
    cout<<ans.size()<<endl;
    for(auto i=ans.begin();i!=ans.end();i++) 
    
        vector<string> ve=i->second;
        int cnt=ve.size()-1;
        cout<<ve[0]<<" "<<ve[cnt]<<endl;
    
	return 0;

4304. 字符串归类【并查集】


https://www.acwing.com/problem/content/4307/

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
string s[N];
int n,p[N];
int find(int x)

    if(x!=p[x]) p[x]=find(p[x]);
    return p[x];

int main(void)

    cin>>n;
    for(int i=0;i<n;i++) cin>>s[i];
    for(int i=0;i<26;i++) p[i]=i;
    set<int>st;
    for(int i=0;i<n;i++)
    
        st.insert(s[i][0]-'a');
        for(int j=1;j<s[i].size();j++) 
            p[find(s[i][j]-'a')]=find(s[i][0]-'a'),st.insert(s[i][j]-'a');
    
    map<int,int>mp;
    for(auto i=st.begin();i!=st.end();i++) mp[find(*i)]++;
    cout<<mp.size();
    return 0;

以上是关于Acwing第 39 场周赛完结的主要内容,如果未能解决你的问题,请参考以下文章

Acwing第 53 场周赛完结

Acwing第 31 场周赛完结

Acwing第 36 场周赛完结

Acwing第 56 场周赛完结

Acwing第 32 场周赛完结

Acwing第 59 场周赛完结