Cod sursa(job #1710042)

Utilizator SAPIENTIA_N_formatXSAPIENTIA NformatX SAPIENTIA_N_formatX Data 28 mai 2016 14:52:15
Problema Carte2 Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 1.38 kb
#include <stdio.h>
#include <stdlib.h>

int ok(int,int,int,int);
int maxi1(int,int,int);
int maxi2(int,int,int);

int main()
{
    FILE*fin=fopen("carte2.in", "rt");
    FILE*fot=fopen("carte2.out", "wt");

    int t,a,b,c,d,e,i,j,sup1,sup2;

    fscanf(fin,"%d",&t);

    for(i=0; i<t; ++i)
    {
        fscanf(fin,"%d%d%d%d%d",&a,&b,&c,&d,&e);

        sup1=maxi1(c,d,e);
        sup2=maxi2(c,d,e);

        for(j=0; j<2; ++j)
        {
            if(ok(a,b,sup1,sup2))
            {
                fprintf(fot,"posibil\n");
                break;
            }
            e=sup1;
            sup1=sup2;
            sup2=e;
        }
        if(!ok(a,b,sup1,sup2))
        {
            fprintf(fot,"imposibil\n");
        }

    }
    fclose(fin);
    fclose(fot);

    return 0;
}

int maxi1(int c,int d,int e)
{
    if((c>d)&&(c>e))
    {
        return c;
    }
    if((d>c)&&(d>e))
    {
        return d;
    }
    if((e>c)&&(e>d))
    {
        return e;
    }
}

int maxi2(int c,int d,int e)
{
    if(((c>d)&&(c<e))||((c<d)&&(c>e)))
    {
        return c;
    }
    if(((d>c)&&(d<e))||((d<c)&&(d>e)))
    {
        return d;
    }
    if(((e>c)&&(e<d))||((e<c)&&(e>d)))
    {
        return e;
    }
}

int ok(int a,int b,int c,int d)
{
    if((a<d)&&(b<c))
    {
        return 1;
    }
    else return 0;
}