zoukankan      html  css  js  c++  java
  • Codeforces Round #479 (Div. 3)解题代码

    A. Wrong Subtraction

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
        int n,k;
        cin>>n>>k;
        while(k--)
        {
            int tmp=n%10;
            if(tmp==0)
                n/=10;
            else n-=1;
        }
        cout<<n<<endl;
        return 0;
    }
    

    B. Two-gram

    #include <bits/stdc++.h>
    
    using namespace std;
    const int MAXN=1000;
    char ch[MAXN];
    int cnt[MAXN];
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>ch[i];
        }
        for(int i=1;i<=n-1;i++)
        {
            for(int j=i+1;j<=n-1;j++)
            {
                if(ch[i]==ch[j]&&ch[i+1]==ch[j+1])
                    cnt[i]++;
            }
        }
        int index;
        int maxnCnt=-1;
        for(int i=1;i<=n-1;i++)
        {
            if(maxnCnt<cnt[i])index=i,maxnCnt=cnt[i];
        }
        cout<<ch[index]<<ch[index+1]<<endl;
        return 0;
    }
    

    C. Less or Equal

    #include <bits/stdc++.h>
    
    using namespace std;
    
    
    const int MAXN=200005;
    int a[MAXN];
    int main()
    {
        int n,k;
        cin>>n>>k;
        for(int i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
        if(k==0)
        {
            if(a[0]>1)cout<<a[0]-1<<endl;
            else cout<<-1<<endl;
        }
        else
        {
            int tmp=a[k-1];
        int cnt=0,flag=0;
        for(int i=0;i<n;i++)
        {
            if(tmp>=a[i])
            {
                cnt++;
            }
            else break;
    
        }
        if(cnt>k)cout<<-1<<endl;
        else cout<<tmp<<endl;
        }
    
        return 0;
    }
    

    D. Divide by three, multiply by two

    #include <bits/stdc++.h>
    
    using namespace std;
    #define LL long long
    const int MAXN=120;
    
    struct node
    {
        LL x,y;
    
    }a[MAXN];
    bool cmp(const node x1,const node x2)
    {
        if(x1.y!=x2.y)return x1.y>x2.y;
        else return x1.x<x2.x;
    }
    
    
    LL cnt(LL x)
    {
        int cnt3=0;
        while(x%3==0)
        {
            cnt3++;
            x/=3;
        }
        return cnt3;
    }
    
    int main()
    {
        int n;
        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>a[i].x;a[i].y=cnt(a[i].x);
        }
        sort(a,a+n,cmp);
        for(int i=0;i<n;i++)
            cout<<a[i].x<<" ";
        cout<<endl;
        return 0;
    }
    

    E. Cyclic Components

    #include <bits/stdc++.h>
    
    using namespace std;
    
    const int MAXN=200005;
    vector<int>G[MAXN];
    bool vis[MAXN]
    bool f;
    void dfs(int v)
    {
        vis[v]=1;
        if(G[v].size()!=2)
            f=1;
    
        for(auto x: G[v])
        {
            if(!vis[x])
                dfs(x);
        }
    }
    int main()
    {
        int n,m,u,v;
        cin>>n>>m;
        for(int i=0;i<m;i++)
        {
            cin>>u>>v;
            u--,v--;
            G[u].push_back(v);
            G[v].push_back(u);
        }
        int ans=0;
        f=0;
        for(int i=0;i<n;i++)
        {
            if(!vis[i])
            {
                f=0;
                dfs(i);
                ans+=(!f);
            }
    
        }
        cout<<ans<<endl;
        return 0;
    }
    
  • 相关阅读:
    Linux centos7修改根目录
    gitlab的安装
    windows上svn图标不显示 绿色对号
    java中的Serializable接口
    List Map Set的线程安全
    javascript中的each遍历
    jdk 1.7新特性
    jdk 1.6 新特性
    jdk1.5 新特性
    java 运算符
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9386958.html
Copyright © 2011-2022 走看看