Cod sursă (job #237693)

Utilizator avatar RG1999 Chivereanu Radu RG1999 IP ascuns
Problemă Domino Compilator cpp | 0,88 kb
Rundă Simulare olimpiada clasele 7/8 grea Status evaluat
Dată 20 apr. 2016 17:52:28 Scor 20
#include <cstdio>
#include <algorithm>
using namespace std;
int n,i,k1,k2,pos,max1,start,var,ver[10005],num;
struct str
{
    int x,y,z;
}v[10005];
bool cmp(str a,str b)
{
    if(a.x>b.x) return 1;
    else

        if(a.x==b.x&&a.y>b.y) return 1;
    return 0;
}
int main()
{
    freopen("domino.in","r",stdin);
    freopen("domino.out","w",stdout);
    scanf("%d%d%d",&n,&k2,&k1);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&v[i].x,&v[i].y);
        if(v[i].x<v[i].y)
        {
            swap(v[i].x,v[i].y);
            v[i].z=1;
            num++;

        }
    }
    sort(v+1,v+n+1,cmp);
    for(i=n;i>=n-k1;i--)
        if(v[i].z==1) num--;
    n=n-k1;
    while(num>k2)
    {
          if(v[n].z==1)
          swap(v[n].x,v[n].y),num--;
          n--;


    }
    for(i=1;i<=n;i++)
        printf("%d%d",v[i].x,v[i].y);



    return 0;
}