Acwing第 33 场周赛完结

Posted 辉小歌

tags:

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

目录

4206. 判断数字【水题】

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

    int cnt1=0,cnt2=0;
    string s; cin>>s;
    for(int i=0;i<s.size();i++)
    
        if(s[i]=='4') cnt1++;
        if(s[i]=='7') cnt2++;
    
    cnt1+=cnt2;
    if(cnt1==4||cnt1==7) puts("YES");
    else puts("NO");
    return 0;

4207. 最长合法括号子序列【思维】


https://www.acwing.com/problem/content/4210/
只要时刻保持,左括号的数量大于右括号的数量即可。

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

    string s; cin>>s;
    for(int i=0;i<s.size();i++)
    
        if(s[i]=='(') cnt1++;
        if(s[i]==')') cnt2++;
        if(cnt1>=cnt2) ans=max(ans,cnt2*2);
        else cnt2--;
    
    cout<<ans;
    return 0;

4208. 电话号码【模拟】


https://www.acwing.com/problem/content/description/4211/
数据范围很小,直接按照题意模拟即可。

#include<bits/stdc++.h>
#define YES puts("YES");
#define Yes puts("Yes");
#define yes puts("yes");
#define NO  puts("NO");
#define No  puts("No");
#define no  puts("no");
using namespace std;
typedef long long int LL;
typedef pair<int,int> PII;
const int N=1e5*2+10;
const int mod=1e9+7;
int n,m;
map<string,vector<string>>mp;
vector<string>ans[N];
vector<string>s,temp;
int main(void)

    cin>>n;
    for(int i=0;i<n;i++)
    
        string name; cin>>name;
        scanf("%d",&m);
        for(int j=0;j<m;j++)
        
            string id; cin>>id;
            mp[name].push_back(id);
        
    
    int k=0;
    for(auto i=mp.begin();i!=mp.end();i++)
    
        s.push_back(i->first);
        map<string,int>hush;
        temp=i->second;
        for(int j=0;j<temp.size();j++) hush[temp[j]]++;
        for(auto j=hush.begin();j!=hush.end();j++)
        
            auto ss=j->first;
            string sss;
            for(int z=ss.size()-1;z>=1;z--)//将所有的后缀都赋为-1表示无效
            
                sss=ss[z]+sss;
                hush[sss]=-1;
            
        
        for(auto j=hush.begin();j!=hush.end();j++)
        
            if(j->second!=-1) ans[k].push_back(j->first);
        
        k++;
    
    cout<<s.size()<<endl;
    for(int i=0;i<s.size();i++)
    
        cout<<s[i]<<" "<<ans[i].size();
        for(int j=0;j<ans[i].size();j++) cout<<" "<<ans[i][j];
        cout<<endl;
    
	return 0;

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

Acwing第 53 场周赛完结

Acwing第 31 场周赛完结

Acwing第 36 场周赛完结

Acwing第 56 场周赛完结

Acwing第 32 场周赛完结

Acwing第 59 场周赛完结