#include "scales.h"
#include <vector>
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
void init(int T) {
/* ... */
}
void orderCoins() {
int LA = getHeaviest(1, 2, 3);
int LB = getHeaviest(4, 5, 6);
int LC = getHeaviest(LA, LB, LA == 1 ? 2 : 1);
vector<int> rem1;
for(int i = 1; i <= 6; ++i) {
if(i != LC) {
rem1.push_back(i);
}
}
int LD = getHeaviest(rem1[0], rem1[1], rem1[2]);
int LE = getHeaviest(LD, rem1[3], rem1[4]);
vector<int> rem2;
for(int i = 1; i <= 6; ++i) {
if(i != LC && i != LE) {
rem2.push_back(i);
}
}
int LF = getHeaviest(rem2[0], rem2[1], rem2[2]);
vector<int> rem3;
for(int i = 1; i <= 6; ++i) {
if(i != LC && i != LE && i != LF) {
rem3.push_back(i);
}
}
int LG = getLightest(rem3[0], rem3[1], rem3[2]);
vector<int> rem4;
for(int i = 1; i <= 6; ++i) {
if(i != LC && i != LE && i != LG) {
rem4.push_back(i);
}
}
int LH = getMedian(rem4[0], rem4[1], rem4[2]);
vector<int> perm(6);
for(int i = 0; i < 6; ++i) {
perm[i] = i + 1;
}
do {
function<int(int, int, int)> lightest = [&](int va, int vb, int vc) {
vector<int> ord = { va, vb, vc };
sort(ord.begin(), ord.end(), [&](int i, int j) { return perm[i - 1] < perm[j - 1]; });
return ord[0];
};
function<int(int, int, int)> median = [&](int va, int vb, int vc) {
vector<int> ord = { va, vb, vc };
sort(ord.begin(), ord.end(), [&](int i, int j) { return perm[i - 1] < perm[j - 1]; });
return ord[1];
};
function<int(int, int, int)> heaviest = [&](int va, int vb, int vc) {
vector<int> ord = { va, vb, vc };
sort(ord.begin(), ord.end(), [&](int i, int j) { return perm[i - 1] < perm[j - 1]; });
return ord[2];
};
if(perm[LC - 1] == 6 && perm[LE - 1] == 5 && heaviest(rem2[0], rem2[1], rem2[2]) == LF && lightest(rem3[0], rem3[1], rem3[2]) == LG && median(rem4[0], rem4[1], rem4[2]) == LH) {
int W[6];
for(int i = 0; i < 6; ++i) {
W[perm[i] - 1] = i + 1;
}
answer(W);
return;
}
} while(next_permutation(perm.begin(), perm.end()));
}
Compilation message
scales.cpp: In function 'void init(int)':
scales.cpp:7:15: warning: unused parameter 'T' [-Wunused-parameter]
7 | void init(int T) {
| ~~~~^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
2 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
3 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
4 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
5 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
6 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
7 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
8 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
9 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
10 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
11 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
12 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
13 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
14 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
15 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
16 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
17 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
18 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
19 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
20 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
21 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
22 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
23 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
24 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
25 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
26 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
27 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
28 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
29 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
30 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
31 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
32 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
33 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
34 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
35 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
36 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
37 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
38 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
39 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |
40 |
Partially correct |
1 ms |
256 KB |
Output is partially correct |