Ver Mensaje Individual
  #10 (permalink)  
Antiguo 12/05/2016, 04:03
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 2 meses
Puntos: 204
Respuesta: Saber todas las combinaciones posibles de un tablero

std::set es un contenedor en el que los elementos están ordenados, en este caso por orden ascendente. El método insert te devuelve en un paquete (tupla) un iterador a la posición del elemento y un booleano que indica si el elemento ha sido insertado (true) o si ya existía (false). Lo que hace tie es separar esos dos valores (iterador,booleano). En este caso tie separa los elementos del paquete y los almacena en las variables que le facilitas como parámetro. El iterador no nos interesa para nada, por lo que lo almacenamos en ignore que es algo parecido a un cubo de la basura de la stl para datos que no te interesan mientras que el segundo parámetro, que indica si el valor se ha insertado en el contenedor o si ya existía lo amacena en la variable unico.

Lo que hace el algoritmo de xKuZz es insertar en el set los resultados de sumar o restar (según el caso) la fila y columna de cada ficha. Si el contenedor no tenía ese valor ya almacenado almacenará en unico un true y un false en caso contrario. Si consigues meter todos los resultados y no se repite ninguno (siempre recibes true) es que has podido ubicar las 4 fichas cumpliendo los requisitos planteados.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.