zoukankan      html  css  js  c++  java
  • Codeforces 659

    链接:https://codeforces.com/contest/659


    A - Round House - [取模]

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    int n,a,b;
    int main()
    {
        cin>>n>>a>>b;
        a=(a-1+b);
        while(a<0) a+=n;
        a%=n;
        cout<<a+1<<endl;
    }

    B - Qualifying Contest - [水]

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1e5+5;
    const int maxm=1e4+5;
    int n,m;
    struct P{
        string name;
        int reg,sco;
        bool operator<(const P& o)const {
            return sco>o.sco;
        }
    }p;
    vector<P> R[maxm];
    int main()
    {
        ios::sync_with_stdio(0);
        cin.tie(0), cout.tie(0);
    
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            cin>>p.name>>p.reg>>p.sco;
            R[p.reg].push_back(p);
        }
    
        for(int i=1;i<=m;i++)
        {
            sort(R[i].begin(),R[i].end());
            if(R[i].size()>2 && R[i][1].sco<=R[i][2].sco) cout<<"?
    ";
            else cout<<R[i][0].name<<" "<<R[i][1].name<<'
    ';
        }
    }

    C - Tanya and Toys - [贪心水题]

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1e5+5;
    int n,m;
    map<int,bool> mp;
    int main()
    {
        ios::sync_with_stdio(0);
        cin.tie(0), cout.tie(0);
    
        cin>>n>>m;
        mp.clear();
        for(int i=1,x;i<=n;i++) cin>>x, mp[x]=1;
    
        vector<int> ans;
        for(int i=1;i<=(int)1e9;i++)
        {
            if(mp[i]) continue;
            if(m>=i) ans.push_back(i), m-=i;
            else break;
        }
        cout<<ans.size()<<'
    ';
        for(auto x:ans) cout<<x<<' ';
    }

    D - Bicycle Race - [叉乘]

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    typedef pair<int,int> P;
    #define mk(x,y) make_pair(x,y)
    #define fi first
    #define se second
    const int maxn=1e3+5;
    int n;
    P p[maxn];
    int cross(P a,P b)
    {
        return a.fi*b.se-b.fi*a.se;
    }
    int main()
    {
        ios::sync_with_stdio(0);
        cin.tie(0), cout.tie(0);
    
        cin>>n;
        for(int i=0;i<n+1;i++) cin>>p[i].fi>>p[i].se;
        int cnt=0;
        for(int i=0;i<n;i++)
        {
            P pre=mk(p[i].fi-p[(i-1+n)%n].fi,p[i].se-p[(i-1+n)%n].se);
            P nxt=mk(p[(i+1)%n].fi-p[i].fi,p[(i+1)%n].se-p[i].se);
            if(cross(pre,nxt)>0) cnt++;
        }
        cout<<cnt<<endl;
    }

    E - New Reform - [DFS判环]

    题解:对于一个子图,如果存在环,那么肯定可以做到没有一个城市没有入弧;如果一个子图是一棵树,那么可以任选一个城市作为根,只有该城市没有入弧,答案增加一。

    AC代码:

    #include<bits/stdc++.h>
    #define pb(x) push_back(x)
    using namespace std;
    const int maxn=1e5+10;
    int n,m;
    vector<int> g[maxn];
    bool vis[maxn];
    
    bool flag;
    void dfs(int x,int pre)
    {
        vis[x]=1;
        for(auto y:g[x])
        {
            if(y==pre) continue;
            if(!vis[y]) dfs(y,x);
            else flag=1;
        }
    }
    int main()
    {
        ios::sync_with_stdio(0);
        cin.tie(0), cout.tie(0);
    
        cin>>n>>m;
        for(int i=1,x,y;i<=m;i++)
        {
            cin>>x>>y;
            g[x].pb(y), g[y].pb(x);
        }
    
        int cnt=0;
        memset(vis,0,sizeof(vis));
        for(int i=1;i<=n;i++)
        {
            if(vis[i]) continue;
            flag=0;
            dfs(i,-1);
            if(!flag) cnt++;
        }
        cout<<cnt<<endl;
    }
  • 相关阅读:
    微信小程序 数组索引 data-“”解释
    Aho-Corasick算法原理(图省事我直接粘贴PPT了)
    神奇的人生
    nginx-学习笔记9
    nginx-学习笔记8
    nginx-学习笔记7
    nginx-学习笔记6
    nginx-学习笔记5
    nginx-学习笔记4
    nginx-学习笔记2
  • 原文地址:https://www.cnblogs.com/dilthey/p/10555190.html
Copyright © 2011-2022 走看看