• RCC 2014 Warmup (Div. 2) A~C


    近期CF的pretext真是一场比一场弱。第一次在CF上被卡cin。cout歧视。。。。


    A. Elimination
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    The finalists of the "Russian Code Cup" competition in 2214 will be the participants who win in one of the elimination rounds.

    The elimination rounds are divided into main and additional. Each of the main elimination rounds consists of c problems, the winners of the round are the first n people in the rating list. Each of the additional elimination rounds consists of d problems. The winner of the additional round is one person. Besides, kwinners of the past finals are invited to the finals without elimination.

    As a result of all elimination rounds at least n·m people should go to the finals. You need to organize elimination rounds in such a way, that at least n·m people go to the finals, and the total amount of used problems in all rounds is as small as possible.

    Input

    The first line contains two integers c and d (1 ≤ c, d ≤ 100) — the number of problems in the main and additional rounds, correspondingly. The second line contains two integers n and m (1 ≤ n, m ≤ 100). Finally, the third line contains an integer k (1 ≤ k ≤ 100) — the number of the pre-chosen winners.

    Output

    In the first line, print a single integer — the minimum number of problems the jury needs to prepare.

    Sample test(s)
    input
    1 10
    7 2
    1
    
    output
    2
    
    input
    2 2
    2 1
    2
    
    output
    0

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    
    int c,d,n,m,k,s;
    
    int main()
    {
        cin>>c>>d>>n>>m>>k;
        s=n*m-k;
        if(s<=0)
        {
            puts("0"); return 0;
        }
        int ans=0;
        if(c<d*n)
        {
            int num_ma=s/n;
            ans+=num_ma*c;
            int resman=s%n;
            ans+=min(resman*d,c);
        }
        else
        {
            ans=s*d;
        }
        cout<<ans<<endl;
        return 0;
    }


    B. Crash
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    During the "Russian Code Cup" programming competition, the testing system stores all sent solutions for each participant. We know that many participants use random numbers in their programs and are often sent several solutions with the same source code to check.

    Each participant is identified by some unique positive integer k, and each sent solution A is characterized by two numbers: x — the number of different solutions that are sent before the first solution identical to A, and k — the number of the participant, who is the author of the solution. Consequently, all identical solutions have the same x.

    It is known that the data in the testing system are stored in the chronological order, that is, if the testing system has a solution with number x (x > 0) of the participant with number k, then the testing system has a solution with number x - 1 of the same participant stored somewhere before.

    During the competition the checking system crashed, but then the data of the submissions of all participants have been restored. Now the jury wants to verify that the recovered data is in chronological order. Help the jury to do so.

    Input

    The first line of the input contains an integer n (1 ≤ n ≤ 105) — the number of solutions. Each of the following n lines contains two integers separated by space x and k (0 ≤ x ≤ 1051 ≤ k ≤ 105) — the number of previous unique solutions and the identifier of the participant.

    Output

    A single line of the output should contain «YES» if the data is in chronological order, and «NO» otherwise.

    Sample test(s)
    input
    2
    0 1
    1 1
    
    output
    YES
    
    input
    4
    0 1
    1 2
    1 1
    0 2
    
    output
    NO
    
    input
    4
    0 1
    1 1
    0 1
    0 2
    
    output
    YES
    排序乱搞。。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    
    struct ooxx
    {
        int x,y,id;
    }a[110000];
    
    bool cmpA(ooxx a,ooxx b)
    {
        if(a.y!=b.y) return a.y<b.y;
        return a.id<b.id;
    }
    
    int n;
    
    int main()
    {
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            scanf("%d%d",&a[i].x,&a[i].y);
            a[i].id=i;
        }
        sort(a,a+n,cmpA);
    
        bool flag=true;
        int last=-1,eb=-1;
    
        for(int i=0;i<n&&flag;i++)
        {
            if(last!=a[i].y)
            {
                last=a[i].y; eb=0;
                if(a[i].x!=0) flag=false;
            }
            else
            {
                if(a[i].x<=eb) continue;
                else if(a[i].x==eb+1) eb++;
                else flag=false;
            }
        }
        if(flag==false) puts("NO");
        else puts("YES");
        return 0;
    }


    C. Football
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    One day, at the "Russian Code Cup" event it was decided to play football as an out of competition event. All participants was divided inton teams and played several matches, two teams could not play against each other more than once.

    The appointed Judge was the most experienced member — Pavel. But since he was the wisest of all, he soon got bored of the game and fell asleep. Waking up, he discovered that the tournament is over and the teams want to know the results of all the matches.

    Pavel didn't want anyone to discover about him sleeping and not keeping an eye on the results, so he decided to recover the results of all games. To do this, he asked all the teams and learned that the real winner was friendship, that is, each team beat the other teams exactly k times. Help Pavel come up with chronology of the tournir that meets all the conditions, or otherwise report that there is no such table.

    Input

    The first line contains two integers — n and k (1 ≤ n, k ≤ 1000).

    Output

    In the first line print an integer m — number of the played games. The following m lines should contain the information about all the matches, one match per line. The i-th line should contain two integers ai and bi (1 ≤ ai, bi ≤ nai ≠ bi). The numbers ai and bi mean, that in the i-th match the team with number ai won against the team with number bi. You can assume, that the teams are numbered from1 to n.

    If a tournir that meets the conditions of the problem does not exist, then print -1.

    Sample test(s)
    input
    3 1
    
    output
    3
    1 2
    2 3
    3 1

    隔k个数,连一条边。。。。 输出非常多,卡CIN,COUT

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <vector>
    
    using namespace std;
    
    typedef pair<int,int> pII;
    
    int indegree[2000];
    bool ck[1100][1100];
    int n,k;
    vector<pII> ans;
    
    int main()
    {
        cin>>n>>k;
        for(int l=1;l<=k;l++)
        {
            for(int i=0;i<n;i++)
            {
                int j=(i+l)%n;
                if(indegree[j]+1>k||j==i||ck[i][j]||ck[j][i])
                {
                    puts("-1"); return 0;
                }
                else
                {
                    indegree[j]++;
                    ck[i][j]=ck[j][i]=1;
                    ans.push_back(make_pair(i,j));
                }
            }
        }
        int sz=ans.size();
        printf("%d
    ",sz);
        for(int i=0;i<sz;i++)
        {
            printf("%d %d
    ",ans[i].first+1,ans[i].second+1);
        }
        return 0;
    }




  • 相关阅读:
    Django REST framework+Vue 打造生鲜电商项目(笔记三)
    「数据结构与算法之链表(Python)」(四)
    微服务的注册中心
    git学习(十一) idea git pull 解决冲突
    git学习(十) idea git reset 操作
    git学习(九) idea git stash操作
    git学习(八) git stash操作
    git 学习笔记
    git学习(五) git diff操作
    git:Your branch and 'origin/master' have diverged
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6733547.html
Copyright © 2020-2023  润新知