ForHosting KIT · Utilidades de desarrollo

Comprobar sudoku: conflictos en filas, columnas y bloques

Un solo dígito repetido puede invalidar una posición de sudoku mucho antes de que el error resulte evidente.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Este comprobador examina una cuadrícula estándar completa o parcial e identifica todas las casillas ocupadas que participan en un conflicto inmediato. Revisa por separado filas, columnas y bloques 3x3, ignora las casillas vacías y devuelve coordenadas estables junto con la causa de cada aviso. No resuelve el rompecabezas ni revela valores ausentes, por lo que sirve para practicar, editar sudokus, enseñar y validar datos automáticamente.

Prepare la cuadrícula antes de comprobarla

Introduzca una cuadrícula estándar de sudoku en nueve líneas con nueve casillas cada una. Las casillas ocupadas deben contener dígitos del 1 al 9. Escriba un punto o un cero para una casilla vacía; ambas formas significan lo mismo y no intervienen en la búsqueda de duplicados. Puede usar espacios, comas y barras verticales como separadores para mejorar la lectura, de modo que se aceptan tanto la notación compacta como la separada visualmente. El comprobador elimina esos separadores, pero no interpreta ni corrige otros caracteres. Así se distingue una entrada mal formada de una cuadrícula bien construida que infringe las reglas. La solicitud produce un error si no hay exactamente nueve filas, si alguna fila no contiene nueve casillas después de retirar los separadores o si aparece un carácter no admitido. Se aceptan cuadrículas parciales con pistas iniciales, partidas en curso o tableros casi terminados. Una cuadrícula totalmente vacía es válida porque no contiene casillas ocupadas en conflicto. La herramienta solo evalúa la posición recibida: nunca rellena huecos ni modifica valores.

Interprete el informe de conflictos por casilla

El resultado comienza con el valor booleano <code>valid</code>. Es verdadero cuando ninguna casilla ocupada comparte su dígito con otra de la misma fila, columna o bloque 3x3. El recuento <code>filled_cells</code> indica cuántas entradas no vacías se examinaron. Si la posición es inválida, <code>conflict_cells</code> enumera todas las casillas implicadas con coordenadas de fila y columna basadas en uno, el dígito almacenado y uno o varios motivos. Cada motivo identifica el tipo de regla, el índice de la unidad y el valor duplicado. Una casilla puede tener varias causas: por ejemplo, un cinco repetido puede infringir a la vez su fila y el bloque superior izquierdo. Se conservan ambas. Informar de cada casilla afectada permite que una interfaz destaque directamente los lugares problemáticos sin reconstruir grupos. El orden es determinista: las casillas siguen el orden de lectura y las causas aparecen como fila, columna y bloque. Las casillas vacías nunca figuran. Si hay tres copias de un dígito en una unidad, se señalan las tres, no una pareja arbitraria, para representar toda la contradicción local.

Comprenda qué demuestra la validez del sudoku

Esta comprobación responde a una pregunta concreta: ¿la posición actual infringe de forma inmediata la regla de unicidad de alguna fila, columna o bloque? Un resultado válido no demuestra que el sudoku tenga solución, que esa solución sea única ni que el diseño de pistas sea adecuado. Algunas posiciones no presentan duplicados directos y aun así no pueden completarse porque decisiones anteriores eliminan todos los candidatos de otra casilla. Eso exige un solucionador o un análisis de viabilidad más profundo, que esta capacidad no realiza. Su alcance limitado es útil cuando se desea informar de errores sin revelar respuestas. Una aplicación educativa puede resaltar las casillas duplicadas; un editor puede validar las pistas tras cada cambio; y un proceso de importación puede rechazar registros dañados antes de tareas más costosas. El cálculo recorre como máximo 81 casillas y no usa red, azar, reloj ni estado externo, por lo que una entrada idéntica siempre genera la misma salida. La experiencia web ejecuta la misma lógica pura localmente, mientras que un flujo automatizado puede solicitar la API por $0.002 por elemento y guardar las coordenadas para revisarlas después.

Revise una partida en curso

Encuentre entradas duplicadas en un tablero parcial sin pedir a un solucionador que revele dígitos ausentes.

Compruebe las pistas de un sudoku

Valide una cuadrícula recién introducida y destaque todas las casillas implicadas en una infracción inmediata.

Proteja un proceso de importación

Separe texto mal formado de registros de sudoku bien formados pero conflictivos antes de procesarlos.

¿Puedo comprobar un sudoku sin terminar?

Sí. Use un punto o un cero para cada casilla vacía. Las casillas vacías se ignoran al buscar duplicados.

¿Un resultado válido significa que el sudoku tiene solución?

No. Solo significa que las entradas actuales no se duplican en una fila, columna o bloque. No demuestra que exista una solución ni que sea única.

¿Por qué una casilla puede tener varios motivos de conflicto?

Una misma entrada puede duplicar simultáneamente un dígito en su fila, columna y bloque. Cada regla infringida se informa por separado.

¿Las coordenadas empiezan en cero?

No. Las filas, columnas e índices de unidad empiezan en 1 para coincidir con la forma habitual de describir un sudoku.

¿Cuánto cuesta una comprobación mediante API?

Cada elemento procesado por la API cuesta $0.002. El comprobador interactivo del navegador puede ejecutarse localmente sin coste.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/hobby/game-sudoku-validity

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/hobby/game-sudoku-validity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"grid":"53..7....\n6..195...\n.98....6.\n8...6...3\n4..8.3..1\n7...2...6\n.6....28.\n...419..5\n....8..79"}'
{
  "grid": "53..7....\n6..195...\n.98....6.\n8...6...3\n4..8.3..1\n7...2...6\n.6....28.\n...419..5\n....8..79"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "hobby.game_sudoku_validity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →