fork download
  1.  
  2. import java.io.*;
  3.  
  4. public class Main {
  5.  
  6. static class EntradaRapida {
  7. private final BufferedInputStream flujoEntrada =
  8.  
  9. private final byte[] buffer = new byte[1 << 16];
  10. private int indice = 0;
  11. private int limite = 0;
  12.  
  13. private int leer() throws IOException {
  14. if (indice >= limite) {
  15. limite = flujoEntrada.read(buffer);
  16. indice = 0;
  17.  
  18. if (limite <= 0) return -1;
  19. }
  20.  
  21. return buffer[indice++];
  22. }
  23.  
  24. int leerEntero() throws IOException {
  25. int caracter;
  26.  
  27. do {
  28. caracter = leer();
  29.  
  30. if (caracter == -1) return -1;
  31.  
  32. } while (caracter <= 32);
  33.  
  34. int valor = 0;
  35.  
  36. while (caracter > 32) {
  37. valor = valor * 10 + caracter - '0';
  38. caracter = leer();
  39. }
  40.  
  41. return valor;
  42. }
  43. }
  44.  
  45. static int contarVecinos(int fila, int columna,
  46. int filas, int columnas) {
  47.  
  48. int cantidad = 4;
  49.  
  50. if (fila == 1 || fila == filas) {
  51. cantidad--;
  52. }
  53.  
  54. if (columna == 1 || columna == columnas) {
  55. cantidad--;
  56. }
  57.  
  58. return cantidad;
  59. }
  60.  
  61. public static void main(String[] args) throws IOException {
  62.  
  63. EntradaRapida lector = new EntradaRapida();
  64.  
  65. int cantCasos = lector.leerEntero();
  66.  
  67. if (cantCasos == -1) return;
  68.  
  69. StringBuilder resultado = new StringBuilder();
  70.  
  71. for (int caso = 0; caso < cantCasos; caso++) {
  72.  
  73. int filas = lector.leerEntero();
  74. int columnas = lector.leerEntero();
  75.  
  76. int filaInicio = lector.leerEntero();
  77. int colInicio = lector.leerEntero();
  78.  
  79. int filaFin = lector.leerEntero();
  80. int colFin = lector.leerEntero();
  81.  
  82. int vecinosInicio = contarVecinos(
  83. filaInicio, colInicio, filas, columnas
  84. );
  85.  
  86. int vecinosFin = contarVecinos(
  87. filaFin, colFin, filas, columnas
  88. );
  89.  
  90. int minObstaculos = Math.min(
  91. vecinosInicio, vecinosFin
  92. );
  93.  
  94. resultado.append(minObstaculos).append('\n');
  95. }
  96.  
  97. System.out.print(resultado);
  98. }
  99. }
  100.  
Success #stdin #stdout 0.07s 54740KB
stdin
Standard input is empty
stdout
Standard output is empty