fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Ideone
  6. {
  7. static double s1(double a1, double a2, double a3, double b1, double b2, double b3){ //Создаем функцию для нахождения стороны параллелепипеда
  8. return Math.sqrt((a2*b3-a3*b2)*(a2*b3-a3*b2)+(a3*b1-a1*b3)*(a3*b1-a1*b3)+(a1*b2-a2*b1)*(a1*b2-a2*b1)); //Модуль векторного произведения
  9. }
  10.  
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. Scanner in = new Scanner(System.in);
  14. double ax, ay, az, bx, by, bz, cx, cy, cz, sab, sac, sbc, s;
  15. ax = in.nextDouble();
  16. ay = in.nextDouble();
  17. az = in.nextDouble();
  18. bx = in.nextDouble();
  19. by = in.nextDouble();
  20. bz = in.nextDouble();
  21. cx = in.nextDouble();
  22. cy = in.nextDouble();
  23. cz = in.nextDouble();
  24. sab = s1(ax, ay, az, bx, by, bz); //Поочередно вызываем функцию для каждой стороны
  25. sac = s1(ax, ay, az, cx, cy, cz);
  26. sbc = s1(bx, by, bz, cx, cy, cz);
  27. s=((ax==bx && ay==by && az==bz) || (ax==cx && ay==cy && az==cz) || (bx==cx && by==cy && bz==cz))?(sab+sac+sbc):(sab+sac+sbc)*2; //Конечная формула площади полной поверхности параллелепипеда
  28. System.out.println(s);
  29. }
  30. }
Success #stdin #stdout 0.14s 31400KB
stdin
0 0 1 0 1 0 1 0 0
stdout
6.0