// akých 15 minút, prosím vás? veď skoro všetky zlé možnosti sa okamžite vylúčia #include <bits/stdc++.h> using namespace std; vector<int> best(16,10), current(16,0); int sol_count = 0; void go(int x) { if (x == 0) { ++sol_count; if (current < best) best = current; } else { for (int i=0; i+x<16; ++i) { if (current[i] == 0 && current[i+x] == 0) { current[i] = current[i+x] = x; go(x-1); current[i] = current[i+x] = 0; } } } } int main() { go(8); cout << sol_count << endl; for (int i=0; i<16; ++i) cout << best[i]; cout << endl; }