Submission #356630

#TimeUsernameProblemLanguageResultExecution timeMemory
356630BlancaHMScales (IOI15_scales)C++14
Compilation error
0 ms0 KiB
#include "scales.h" #include <algorithm> #include <vector> using namespace std; void permutaciones(vector<int> & permutacion, vector<bool> & seleccionado, int N, vector<vector<int>> & perm) { if ((int) permutacion.size() == N) { // ya están todos los números en la permutación perm.push_back(permutacion); return; } for (int i = 1; i <= N; i++) { if (!seleccionado[i-1]) { seleccionado[i-1] = true; permutacion.push_back(i); permutaciones(permutacion, seleccionado, N, perm); permutacion.pop_back(); seleccionado[i-1] = false; } } } void reducir(vector<int> secuencia, vector<vector<int>> & perm) { vector<vector<int>> solucion = {}; int i, j; for (int k = 0; k < (int) perm.size(); k++) { i = j = 0; while(i < (int) secuencia.size() && j < 6) { if (perm[k][j] == secuencia[i]) { i++; j++; } else j++; } if (i == (int) secuencia.size()) solucion.push_back(perm[k]); } perm = solucion; } void orderCoins() { vector<vector<int>> perm; // guardamos aquí las permutaciones de los números 1 a 6 vector<int> p = {}; vector<bool> sel = vector<bool>(6, false); permutaciones(p, sel, 6, perm); int respuesta, A, B, C; while((int) perm.size() > 1) { A = perm[0][0]; B = perm[0][1]; C = perm[0][2]; respuesta = getHeaviest(A, B, C); if (respuesta == A) { reducir({B, A}, perm); reducir({C, A}, perm); } else if (respuesta == B) { reducir({A, B}, perm); reducir({C, B}, perm); } else { reducir({A, C}, perm); reducir({B, C}, perm); } } p = perm[0]; int solucion = {p[0], p[1], p[2], p[3], p[4], p[5]}; answer(solucion); }

Compilation message (stderr)

scales.cpp: In function 'void orderCoins()':
scales.cpp:64:6: error: scalar object 'solucion' requires one element in initializer
   64 |  int solucion = {p[0], p[1], p[2], p[3], p[4], p[5]};
      |      ^~~~~~~~