ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1637. Игра в треугольник 2

please give me any test for my code!!!
Послано Sunnat 13 ноя 2012 16:21
#include<stdio.h>
int f(int X1,int X2,int X3,int x1,int x2,int x3)
{
    if(X1==x1&&X2==x2&&X3==x3)return 0;
    if(x3+X1==x1+X3&&x3+X1==x2+X2&&(x3+X1)%2==0)return 1;
    if(x1-X1==x2-X2&&x1-X1==x3-X3&&(x1-X1)%2==0)return 2;
    return -1;
}
void ff(int &ans, int &k1, int &k2)
{
    if(k1!=-1&&k2!=-1&&k1+k2<ans)ans=k1+k2;
}
int main()
{
    int x1,y1,x2,y2,x3,y3,X1,Y1,X2,Y2,X3,Y3,ans=30;
    scanf("%i %i %i %i %i %i",&x1,&y1,&x2,&y2,&x3,&y3);
    scanf("%i %i %i %i %i %i",&X1,&Y1,&X2,&Y2,&X3,&Y3);
    int k11,k12,k21,k22,k31,k32,k41,k42,k51,k52,k61,k62;
    k11=f(X1,X2,X3,x1,x2,x3);   k12=f(Y1,Y2,Y3,y1,y2,y3);
    k21=f(X1,X3,X2,x1,x2,x3);   k22=f(Y1,Y3,Y2,y1,y2,y3);
    k31=f(X2,X1,X3,x1,x2,x3);   k32=f(Y2,Y1,Y3,y1,y2,y3);
    k41=f(X2,X3,X1,x1,x2,x3);   k42=f(Y2,Y3,Y1,y1,y2,y3);
    k51=f(X3,X1,X2,x1,x2,x3);   k52=f(Y3,Y1,Y2,y1,y2,y3);
    k61=f(X3,X2,X1,x1,x2,x3);   k62=f(Y3,Y2,Y1,y1,y2,y3);

    ff(ans,k11,k12);
    ff(ans,k21,k22);
    ff(ans,k31,k32);
    ff(ans,k41,k42);
    ff(ans,k51,k52);
    ff(ans,k61,k62);

    if(ans==30)puts("IMPOSSIBLE");
    else printf("%i",ans);
    return 0;
}
Re: please give me any test for my code!!!
Послано Guess 13 ноя 2012 17:44
1 2 3
Sunnat писал(a) 13 ноября 2012 16:21
#include<stdio.h>
int f(int X1,int X2,int X3,int x1,int x2,int x3)
{
    if(X1==x1&&X2==x2&&X3==x3)return 0;
    if(x3+X1==x1+X3&&x3+X1==x2+X2&&(x3+X1)%2==0)return 1;
    if(x1-X1==x2-X2&&x1-X1==x3-X3&&(x1-X1)%2==0)return 2;
    return -1;
}
void ff(int &ans, int &k1, int &k2)
{
    if(k1!=-1&&k2!=-1&&k1+k2<ans)ans=k1+k2;
}
int main()
{
    int x1,y1,x2,y2,x3,y3,X1,Y1,X2,Y2,X3,Y3,ans=30;
    scanf("%i %i %i %i %i %i",&x1,&y1,&x2,&y2,&x3,&y3);
    scanf("%i %i %i %i %i %i",&X1,&Y1,&X2,&Y2,&X3,&Y3);
    int k11,k12,k21,k22,k31,k32,k41,k42,k51,k52,k61,k62;
    k11=f(X1,X2,X3,x1,x2,x3);   k12=f(Y1,Y2,Y3,y1,y2,y3);
    k21=f(X1,X3,X2,x1,x2,x3);   k22=f(Y1,Y3,Y2,y1,y2,y3);
    k31=f(X2,X1,X3,x1,x2,x3);   k32=f(Y2,Y1,Y3,y1,y2,y3);
    k41=f(X2,X3,X1,x1,x2,x3);   k42=f(Y2,Y3,Y1,y1,y2,y3);
    k51=f(X3,X1,X2,x1,x2,x3);   k52=f(Y3,Y1,Y2,y1,y2,y3);
    k61=f(X3,X2,X1,x1,x2,x3);   k62=f(Y3,Y2,Y1,y1,y2,y3);

    ff(ans,k11,k12);
    ff(ans,k21,k22);
    ff(ans,k31,k32);
    ff(ans,k41,k42);
    ff(ans,k51,k52);
    ff(ans,k61,k62);

    if(ans==30)puts("IMPOSSIBLE");
    else printf("%i",ans);
    return 0;
}
Sunnat писал(a) 13 ноября 2012 16:21
#include<stdio.h>
int f(int X1,int X2,int X3,int x1,int x2,int x3)
{
    if(X1==x1&&X2==x2&&X3==x3)return 0;
    if(x3+X1==x1+X3&&x3+X1==x2+X2&&(x3+X1)%2==0)return 1;
    if(x1-X1==x2-X2&&x1-X1==x3-X3&&(x1-X1)%2==0)return 2;
    return -1;
}
void ff(int &ans, int &k1, int &k2)
{
    if(k1!=-1&&k2!=-1&&k1+k2<ans)ans=k1+k2;
}
int main()
{
    int x1,y1,x2,y2,x3,y3,X1,Y1,X2,Y2,X3,Y3,ans=30;
    scanf("%i %i %i %i %i %i",&x1,&y1,&x2,&y2,&x3,&y3);
    scanf("%i %i %i %i %i %i",&X1,&Y1,&X2,&Y2,&X3,&Y3);
    int k11,k12,k21,k22,k31,k32,k41,k42,k51,k52,k61,k62;
    k11=f(X1,X2,X3,x1,x2,x3);   k12=f(Y1,Y2,Y3,y1,y2,y3);
    k21=f(X1,X3,X2,x1,x2,x3);   k22=f(Y1,Y3,Y2,y1,y2,y3);
    k31=f(X2,X1,X3,x1,x2,x3);   k32=f(Y2,Y1,Y3,y1,y2,y3);
    k41=f(X2,X3,X1,x1,x2,x3);   k42=f(Y2,Y3,Y1,y1,y2,y3);
    k51=f(X3,X1,X2,x1,x2,x3);   k52=f(Y3,Y1,Y2,y1,y2,y3);
    k61=f(X3,X2,X1,x1,x2,x3);   k62=f(Y3,Y2,Y1,y1,y2,y3);

    ff(ans,k11,k12);
    ff(ans,k21,k22);
    ff(ans,k31,k32);
    ff(ans,k41,k42);
    ff(ans,k51,k52);
    ff(ans,k61,k62);

    if(ans==30)puts("IMPOSSIBLE");
    else printf("%i",ans);
    return 0;
}
Sunnat писал(a) 13 ноября 2012 16:21
#include<stdio.h>
int f(int X1,int X2,int X3,int x1,int x2,int x3)
{
    if(X1==x1&&X2==x2&&X3==x3)return 0;
    if(x3+X1==x1+X3&&x3+X1==x2+X2&&(x3+X1)%2==0)return 1;
    if(x1-X1==x2-X2&&x1-X1==x3-X3&&(x1-X1)%2==0)return 2;
    return -1;
}
void ff(int &ans, int &k1, int &k2)
{
    if(k1!=-1&&k2!=-1&&k1+k2<ans)ans=k1+k2;
}
int main()
{
    int x1,y1,x2,y2,x3,y3,X1,Y1,X2,Y2,X3,Y3,ans=30;
    scanf("%i %i %i %i %i %i",&x1,&y1,&x2,&y2,&x3,&y3);
    scanf("%i %i %i %i %i %i",&X1,&Y1,&X2,&Y2,&X3,&Y3);
    int k11,k12,k21,k22,k31,k32,k41,k42,k51,k52,k61,k62;
    k11=f(X1,X2,X3,x1,x2,x3);   k12=f(Y1,Y2,Y3,y1,y2,y3);
    k21=f(X1,X3,X2,x1,x2,x3);   k22=f(Y1,Y3,Y2,y1,y2,y3);
    k31=f(X2,X1,X3,x1,x2,x3);   k32=f(Y2,Y1,Y3,y1,y2,y3);
    k41=f(X2,X3,X1,x1,x2,x3);   k42=f(Y2,Y3,Y1,y1,y2,y3);
    k51=f(X3,X1,X2,x1,x2,x3);   k52=f(Y3,Y1,Y2,y1,y2,y3);
    k61=f(X3,X2,X1,x1,x2,x3);   k62=f(Y3,Y2,Y1,y1,y2,y3);

    ff(ans,k11,k12);
    ff(ans,k21,k22);
    ff(ans,k31,k32);
    ff(ans,k41,k42);
    ff(ans,k51,k52);
    ff(ans,k61,k62);

    if(ans==30)puts("IMPOSSIBLE");
    else printf("%i",ans);
    return 0;
}