aboutsummaryrefslogtreecommitdiff
path: root/c
diff options
context:
space:
mode:
authorInigoGutierrez <inigogf.95@gmail.com>2019-12-27 00:56:28 +0100
committerInigoGutierrez <inigogf.95@gmail.com>2019-12-27 00:56:28 +0100
commit03bbea156afd0f3bc674d532ec262493f19446f4 (patch)
treee06a46d2afd6893954f69271b618ba6d0d41af97 /c
parentf139d0d9d1c4061909f5f36012cb9f7d0698cc9e (diff)
downloadAceptaElReto-03bbea156afd0f3bc674d532ec262493f19446f4.tar.gz
AceptaElReto-03bbea156afd0f3bc674d532ec262493f19446f4.zip
Resuelto 244 en c++: Reinas atacadas.
Diffstat (limited to 'c')
-rw-r--r--c/244_reinasAtacadas.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/c/244_reinasAtacadas.cpp b/c/244_reinasAtacadas.cpp
index 6b3f2f7..c7a9254 100644
--- a/c/244_reinasAtacadas.cpp
+++ b/c/244_reinasAtacadas.cpp
@@ -1,33 +1,37 @@
#include <iostream>
+#include <vector>
int main(void) {
int lado, reinas;
- int *filas, *columnas;
+ int row, col;
+ std::vector<int> filas, columnas;
int i, j;
int atacadas;
std::cin >> lado;
std::cin >> reinas;
while (lado) {
// Leer tamaño, número de reinas y posición de cada una
- filas = new int [lado];
- columnas = new int [lado];
+ filas.clear();
+ columnas.clear();
for (i = 0; i < reinas; i++) {
- std::cin >> filas[i];
- std::cin >> columnas[i];
+ std::cin >> row;
+ std::cin >> col;
+ filas.push_back(row);
+ columnas.push_back(col);
}
atacadas = 0;
for (i = 0; i < reinas-1 && !atacadas; i++) {
for (j = i+1; j < reinas && !atacadas; j++) {
- // Comprobar choques cartesianos: no hay reinas que compartan fila o columna
+ // Comprobar choques cartesianos: no hay reinas que compartan
+ // fila o columna
if (filas[i] == filas[j] || columnas[i] == columnas[j])
atacadas = 1;
- // Comprobar choques diagonales: no hay la misma distancia entre la fila y la columna para dos reinas
+ // Comprobar choques diagonales: no hay la misma distancia
+ // entre la fila y la columna para dos reinas
else if (abs(filas[i] - filas[j]) == abs(columnas[i] - columnas[j]))
atacadas = 1;
}
}
- delete [] filas;
- delete [] columnas;
if (atacadas)
std::cout << "SI\n";
else