Cod sursă (job #237682)

Utilizator avatar RG1999 Chivereanu Radu RG1999 IP ascuns
Problemă Domino Compilator cpp | 1,11 kb
Rundă Simulare olimpiada clasele 7/8 grea Status evaluat
Dată 20 apr. 2016 17:40:44 Scor 0
#include <cstdio>
#include <algorithm>
using namespace std;
int n,i,k1,k2,pos,max1,start,var,ver[10005];
struct str
{
    int x,y;
}v[10005];
int main()
{
    freopen("domino.in","r",stdin);
    freopen("domino.out","w",stdout);
    scanf("%d%d%d",&n,&k1,&k2);
    for(i=1;i<=n;i++)
    scanf("%d%d",&v[i].x,&v[i].y);
    start=1;

    for(i=1;i<=n-1;i++)
    {
          if(v[i].x>v[i+1].x&&k2==0)continue;
          if(v[i].x==v[i+1].x&&v[i].y>v[i+1].y&&k2!=0){ swap(v[i].x,v[i].y); k2--; continue;}
          if(v[i].x>v[i+1].x&&v[i].y>v[i+1].y) continue;
          if(v[i].x==v[i+1].x&&v[i].y>v[i+1].y) continue;
          if(v[i].x==v[i+1].x&&v[i].y==v[i+1].y) continue;
          if(v[i].x<v[i+1].x&&v[i].y>v[i+1].x&&v[i].y>v[i+1].y&&k2!=0)   { swap(v[i].x,v[i].y); k2--; continue;}
          if(v[i].x>v[i+1].x&&v[i].x>v[i+1].y) continue;
          ver[i]=1;

    }
    for(i=1;i<=n;i++)
        if(ver[i]==0)
    {
        if(v[i].y>v[i].x&&k2>0)
        {
             swap(v[i].x,v[i].y);
            k2--;
        }
        printf("%d%d",v[i].x,v[i].y);
    }




    return 0;
}