Submission #686547

# Submission time Handle Problem Language Result Execution time Memory
686547 2023-01-25T12:28:39 Z opPO "The Lyuboyn" code (IZhO19_lyuboyn) C++17
14 / 100
314 ms 116088 KB
#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

#define int long long
#define f first
#define s second
#define pb push_back
#define ld long double
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define vec vector

using ll = long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using oset = tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>;

const ld eps = 1e-6;
const int mod = 1e9 + 7;
const int oo = 2e9;
const ll OO = 2e18;
const int N = 2e5 + 10;

vec<vec<int>> gen(int n)
{
    if (n == 1)
    {
        return {{0}, {1}};
    }
    vec<vec<int>> g = gen(n - 1);
    vec<vec<int>> res;
    for (auto &x : g)
    {
        res.pb({});
        res.back().pb(0);
        for (int &b : x) res.back().pb(b);
    }
    reverse(all(g));
    for (auto &x : g)
    {
        res.pb({});
        res.back().pb(1);
        for (int &b : x) res.back().pb(b);
    }
    return res;
}

int differ(int x, int y)
{
    int res = 0;
    for (int b = 0; b < 20; b++)
    {
        if (((x >> b) & 1) != ((y >> b) & 1)) res++;
    }
    return res;
}

void solve()
{
    int n, k, t, s;
    cin >> n >> k >> t >> s;
    if (k == 1 && s == 0)
    {
        vec<vec<int>> res = gen(n);
        cout << sz(res) << "\n";
        for (auto &x : res)
        {
            for (int &b : x) cout << b;
            cout << "\n";
        }
        return;
    }
    cout << -1;
//    if (n == 4 && k == 3 && s == 0)
//    {
//        vec<int> nums;
//        for (int i = 0; i < (1 << 4); i++) nums.pb(i);
//        do
//        {
//            bool ok = differ(nums[sz(nums) - 1], nums[0]) == k;
//            for (int i = 0; i < sz(nums) - 1; i++) if (differ(nums[i], nums[i + 1]) != k) ok = false;
//            if (ok) break;
//        } while (next_permutation(all(nums)));
//        for (int i = 0; i < (1 << 4); i++) cout << nums[i] << "\n";
//        return;
//    }
//    for (int i = 0; i < (1 << n); i++)
//    {
//        for (int j = i + 1; j < (1 << n); j++)
//        {
//            if (differ(i, j) == k) cout << i << " " << j << "\n";
//        }
//    }
}

int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    solve();
    return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output -1 while solution exists
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output -1 while solution exists
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 320 KB Ok
2 Correct 0 ms 320 KB Ok
3 Correct 1 ms 320 KB Ok
4 Correct 1 ms 212 KB Ok
5 Correct 1 ms 212 KB Ok
6 Correct 1 ms 212 KB Ok
7 Correct 1 ms 212 KB Ok
8 Correct 0 ms 212 KB Ok
# Verdict Execution time Memory Grader output
1 Correct 314 ms 116088 KB Ok
2 Correct 172 ms 49824 KB Ok
3 Correct 1 ms 468 KB Ok
4 Correct 0 ms 320 KB Ok
5 Correct 1 ms 340 KB Ok
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output -1 while solution exists
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output -1 while solution exists
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 314 ms 116088 KB Ok
2 Correct 172 ms 49824 KB Ok
3 Correct 1 ms 468 KB Ok
4 Correct 0 ms 320 KB Ok
5 Correct 1 ms 340 KB Ok
6 Incorrect 0 ms 212 KB Output -1 while solution exists
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output -1 while solution exists
2 Halted 0 ms 0 KB -