Cod sursă (job #321653)

Utilizator avatar GeorgeA Andrei George GeorgeA IP ascuns
Problemă Domino Compilator cpp | 1,02 kb
Rundă Arhiva de probleme Status evaluat
Dată 6 nov. 2017 19:16:33 Scor 20
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in ("domino.in");
ofstream out ("domino.out");
struct dom {
short x1,x2,l;
};
dom v[10001];
bool ord (dom a,dom b)
{
    if (a.x1<b.x1)
        return false;
    else if (a.x1==b.x1)
    {
        if (a.x2<b.x2)
            return false;
        return true;
    }
    return true;
}
int main()
{
    int n,k1,k2,i;
    in>>n>>k1>>k2;
    for (i=1;i<=n;i++)
    {
        in>>v[i].x1>>v[i].x2;
        v[i].l=0;
        if (v[i].x2>v[i].x1)
        {
            swap(v[i].x2,v[i].x1);
            v[i].l=1;
        }
    }
    sort (v+1,v+n+1,ord);
    i=0;
    int dif=n-k2,ctr=0;
     while (i<=k1)
    {
        i++;ctr++;
        out<<v[i].x1<<v[i].x2;
        if (i>=dif)
            break;
    }
    for (i=n;i>=dif;i--)
    {
        v[i].x1=0;
        v[i].x2=0;
    }
    i=k1+1;
    for (;i<=dif;i++)
    {
        if (v[i].x1==0)
            break;
        out<<v[i].x1<<v[i].x2;
    }
    return 0;
}