| | Totally discouraged with it. Please give some test. Got AC. There was an unobvious but very stupid bug...#include<stdio.h>#include<iostream>
 void swap(int &a, int &b)
 {
 int t=a;a=b;b=t;
 }
 void ay(int &x1,int &x2, int &x3)
 {
 if(x1>=x2&&x1>=x3)
 {
 x2=x1+(x1-x2);
 x3=x1+(x1-x3);
 return;
 }
 if(x2>=x1&&x2>=x3)
 {
 x1=x2+(x2-x1);
 x3=x2+(x2-x3);
 return;
 }
 if(x3>=x1&&x3>=x2)
 {
 x1=x3+(x3-x1);
 x2=x3+(x3-x2);
 return;
 }
 }
 int f(int _X1,int _X2,int _X3,int _x1,int _x2,int _x3)
 {
 int X1=_X1,X2=_X2,X3=_X3,x1=_x1,x2=_x2,x3=_x3;
 
 if(X1==x1&&X2==x2&&X3==x3)return 0;
 
 ay(X1,X2,X3);
 if(x1-X1==x2-X2&&x1-X1==x3-X3&&(x1-X1)%2==0)return 1;
 
 ay(X1,X2,X3);
 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 k1,k2;
 k1=f(X1,X2,X3,x1,x2,x3);   k2=f(Y1,Y2,Y3,y1,y2,y3);    ff(ans,k1,k2);
 k1=f(X1,X3,X2,x1,x2,x3);   k2=f(Y1,Y3,Y2,y1,y2,y3);    ff(ans,k1,k2);
 k1=f(X2,X1,X3,x1,x2,x3);   k2=f(Y2,Y1,Y3,y1,y2,y3);    ff(ans,k1,k2);
 k1=f(X2,X3,X1,x1,x2,x3);   k2=f(Y2,Y3,Y1,y1,y2,y3);    ff(ans,k1,k2);
 k1=f(X3,X1,X2,x1,x2,x3);   k2=f(Y3,Y1,Y2,y1,y2,y3);    ff(ans,k1,k2);
 k1=f(X3,X2,X1,x1,x2,x3);   k2=f(Y3,Y2,Y1,y1,y2,y3);    ff(ans,k1,k2);
 
 if(ans==30)puts("IMPOSSIBLE");
 else printf("%i",ans);
 return 0;
 }
 
 
 Thank's
#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;
 }
 1 2 3  #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;
 }
 #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;
 }
 #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;
 }
Try this:0 0 1 0 0 2
 0 0 -1 0 0 -2
 
 2
Why WA48? Please, give some tests.there couldn't be answer "impossible"? No comments Are given triangles always equal ? If the triangle is isosceles, can we reach the goal in two ways (I mean the vertex accordance)? Answer is never impossible, isn' it? and it less or equal 3 чувак ты идешь в правильном направлении))) | 
 |