12/05/2016, 04:03
|
| | 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. |