fork(1) download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Position {
  6. char strk;
  7. int stlb;
  8. }
  9.  
  10. class Ideone
  11. {
  12. public static void main (String[] args) throws java.lang.Exception
  13. {
  14. Scanner in = new Scanner(System.in);
  15. in.useDelimiter("");
  16. Position lady = new Position();
  17. Position pawn1 = new Position();
  18. Position pawn2 = new Position();
  19. while (in.hasNext()){
  20. lady.strk=(char)in.next().charAt(0);
  21. lady.stlb=in.nextInt();
  22. //запоминаем и игнорируем пробелы в вводе
  23. char c1=(char)in.next().charAt(0);
  24. pawn1.strk=(char)in.next().charAt(0);
  25. pawn1.stlb=in.nextInt();
  26. //запоминаем и игнорируем пробелы в вводе
  27. char c2=(char)in.next().charAt(0);
  28. pawn2.strk=(char)in.next().charAt(0);
  29. pawn2.stlb=in.nextInt();
  30. }
  31. String ans = new String("Дамка срубит ");
  32. //условие 1: пешки не находятся на границе поля
  33. if(pawn1.strk!='a' && pawn2.strk!='a' && pawn1.strk!='h' && pawn2.strk!='h' && pawn1.stlb!=1 && pawn2.stlb!=1 && pawn1.stlb!=8 && pawn2.stlb!=8){
  34. //условие 1.1: обе пешки размещены на диагонали с дамкой
  35. if(Math.abs((int)lady.strk-(int)pawn2.strk)==Math.abs(lady.stlb-pawn2.stlb) && Math.abs((int)lady.strk-(int)pawn1.strk)==Math.abs(lady.stlb-pawn1.stlb)){
  36. //условие 1.1.1: позиции пешек на диагонали не являются соседними
  37. if(Math.abs((int)pawn2.stlb-(int)pawn1.stlb)!=1 && Math.abs(pawn2.strk-pawn1.strk)!=1){
  38. //условие 1.1.1.1: позиции пешек размещены с одной стороны относительно позиции дамки
  39. if(Math.abs((int)pawn1.strk-(int)pawn2.strk)<Math.max(Math.abs((int)lady.strk-(int)pawn1.strk),Math.abs((int)lady.strk-(int)pawn2.strk)) && Math.abs(pawn1.stlb-pawn2.stlb)<Math.max(Math.abs(lady.stlb-pawn1.stlb),Math.abs(lady.stlb-pawn2.stlb)))System.out.println(ans+"две пешки");
  40. //условие 1.1.1.2: позиции пешек размещены с разных сторон относительно позиции дамки
  41. else System.out.println(ans+"одну пешку");
  42. }
  43. //условие 1.1.2: позиции пешек на диагонали являются соседними
  44. else System.out.println(ans+"ничего");
  45. }
  46. //условие 1.2: или 1 пешка или 2 размещены на диагонали с дамкой
  47. else if(Math.abs((int)lady.strk-(int)pawn1.strk)==Math.abs(lady.stlb-pawn1.stlb) || Math.abs((int)lady.strk-(int)pawn2.strk)==Math.abs(lady.stlb-pawn2.stlb))System.out.println(ans+"одну");
  48. //условие 1.3: ни одна из пешек не размещена на диагонали с дамкой
  49. else System.out.println(ans+"ничего");
  50.  
  51. }
  52. //условие 2: пешка1 находится на границе
  53. else if((pawn1.strk=='a' || pawn1.strk=='h' || pawn1.stlb==1 || pawn1.stlb==8) && (pawn2.strk!='a' || pawn2.strk!='h' || pawn2.stlb!=1 || pawn2.stlb!=8)){
  54. //условие 2.1: пешка2 находится на диагонали с дамкой
  55. if(Math.abs((int)lady.strk-(int)pawn2.strk)==Math.abs(lady.stlb-pawn2.stlb) && Math.abs((int)pawn2.stlb-(int)pawn1.stlb)!=1 && Math.abs(pawn2.strk-pawn1.strk)!=1)System.out.println(ans+"одну");
  56. else System.out.println(ans+"ничего");
  57. }
  58. //условие 3: пешка2 находится на границе
  59. else if((pawn2.strk=='a' || pawn2.strk=='h' || pawn2.stlb==1 || pawn2.stlb==8) && (pawn1.strk!='a' || pawn1.strk!='h' || pawn1.stlb!=1 || pawn1.stlb!=8)){
  60. //условие 3.1: пешка1 находится на диагонали с дамкой
  61. if(Math.abs((int)lady.strk-(int)pawn1.strk)==Math.abs(lady.stlb-pawn1.stlb) && Math.abs((int)pawn1.stlb-(int)pawn1.stlb)!=1 && Math.abs(pawn1.strk-pawn1.strk)!=1)System.out.println(ans+"одну");
  62. else System.out.println(ans+"ничего");
  63. }
  64. //условие 4: обе пешки находятся на границе
  65. else System.out.println(ans+"ничего");
  66.  
  67. }
  68. }
Success #stdin #stdout 0.13s 29416KB
stdin
a1 b2 f6
stdout
Дамка срубит две пешки