fork(5) download
  1. var
  2. count: integer = 0;
  3.  
  4. procedure swap(var a, b: integer);
  5. begin
  6. writeln(a, ' <--> ', b);
  7. //
  8. a := a xor b;
  9. b := b xor a;
  10. a := a xor b;
  11. //
  12. inc(count);
  13. end;
  14.  
  15. var
  16. a, b, c: integer;
  17. ab, bc: boolean;
  18. begin
  19. readln(a, b, c);
  20. //
  21. ab := (a < b);
  22. bc := (b < c);
  23. if (not ab or not bc) then begin
  24. //
  25. if (c < a) then swap(a, c);
  26. if (ab ) then swap(b, c)
  27. else
  28. if (bc ) then swap(a, b);
  29. end;
  30. //
  31. writeln(a, ',', b, ',', c, ', count=', count);
  32. end.
  33.  
Success #stdin #stdout 0.01s 4068KB
stdin
3 2 1
stdout
3 <--> 1
1,2,3, count=1