#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
using ll = long long;
using vi = vector<int>;
using vvi = vector<vector<int>>;
using pii = pair<int, int>;
using vll = vector<long long>;
using vvll = vector<vector<long long>>;
using vstr = vector<string>;
using str = string;
#define PB push_back
#define ALL(x) (x).begin(), (x).end()
#define FOR(i, s, f) for (int(i) = (s); i < (f); (i)++)
#define ROF(i, s, f) for (int(i) = (s); i > (f); (i)--)
#define loop(x) for (int i = 0; i < (x); i++)
#define all(x) x.begin(), x.end()
str to_bin(int a){
return bitset<13>(a).to_string();
}
vector<int> permu(int a, int n){
vector<int> ans;
FOR(i,0,n){
if(to_bin(i)[a] == 1) ans.PB(i);
}
return ans;
}
//void answer(int S[],int D[]);
//int tryCombination(int S[]);
void exploreCave(int n){
vector<int> paky(n,1);
vector<int> doterajsie= {};
int res1[n];
FOR(i,0,n){
str tento = "0000000000000";
vi komb = doterajsie;
FOR(j,0,13){
vector<int> komb(n, 0);
for(auto k : permu(i, n)){
if(k >=i) komb[k] = 1;
}
FOR(i,0,n) res1[i] = komb[i];
int vyskusane = tryCombination(res1);
if (vyskusane == -1 or vyskusane > i){
tento[j] = 1;
}
}
doterajsie.PB(stoi(tento, nullptr, 2));
}
int polohy[n];
FOR(i,0,n) polohy[i] = 0;
FOR(i,0,n){
int vyskusane = tryCombination(polohy);
if(vyskusane<i) polohy[doterajsie[i]] = 1;
}
int res2[n];
FOR(i,0,n) res2[i] = doterajsie[i];
answer(polohy,res2);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |