답안 #503144

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
503144 2022-01-07T11:30:09 Z stanislavpolyn "The Lyuboyn" code (IZhO19_lyuboyn) C++17
14 / 100
217 ms 5312 KB
#include <bits/stdc++.h>

#define fr(i, a, b) for(int i = (a); i <= (b); ++i)
#define rf(i, a, b) for(int i = (a); i >= (b); --i)
#define fe(x, y) for(auto& x : y)

#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define mt make_tuple

#define all(x) (x).begin(), (x).end()
#define pw(x) (1LL << (x))
#define sz(x) (int)(x).size()

using namespace std;

mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());

#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
template<typename T>
using oset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
#define fbo find_by_order
#define ook order_of_key

template<typename T>
bool umn(T& a, T b) { return (a > b ? (a = b, 1) : 0); }
template<typename T>
bool umx(T& a, T b) { return (a < b ? (a = b, 1) : 0); }

using ll = long long;
using ld = long double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
template<typename T>
using ve = vector<T>;

int n, k, t;
string s;

ve<int> ans;
bool vis[pw(18)];

int main() {
#ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
#else
//    freopen("input.txt", "r", stdin);
//    freopen("output.txt", "w", stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
#endif

    cin >> n >> k >> t;

    if(k % 2 == 0) {
        cout << "-1\n";
        return 0;
    }

    if(k == 1) {
        cout << pw(n) << "\n";
        fr(i, 0, pw(n) - 1) {
            int mask = i ^ (i >> 1);
            fr(j, 0, n - 1) {
                cout << !!(mask & pw(j));
            }
            cout << "\n";
        }

        return 0;
    }

    cout << "-1\n";
//    cin >> s;

//    vis[0] = 1;
//    ans.pb(0);
//    while(1) {
//        bool ok = 0;
//        fr(mask, 0, pw(n) - 1) {
//            if(!vis[mask] && __builtin_popcount(mask ^ ans.back()) == k) {
//                vis[mask] = 1;
//                ans.pb(mask);
//                ok = 1;
//                break;
//            }
//        }
//        if(!ok) {
//            break;
//        }
//    }
//
//    cout << sz(ans) << "\n";
//    fe(x, ans) {
//        cout << bitset<4>(x) << "\n";
//    }

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB First number in answer is not x 1 0
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output -1 while solution exists
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Ok
2 Correct 0 ms 204 KB Ok
3 Correct 0 ms 204 KB Ok
4 Correct 0 ms 204 KB Ok
5 Correct 0 ms 204 KB Ok
6 Correct 0 ms 204 KB Ok
7 Correct 0 ms 204 KB Ok
8 Correct 0 ms 204 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 217 ms 5312 KB Ok
2 Correct 93 ms 2624 KB Ok
3 Correct 1 ms 332 KB Ok
4 Correct 0 ms 324 KB Ok
5 Correct 1 ms 324 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB Output -1 while solution exists
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB Output -1 while solution exists
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 217 ms 5312 KB Ok
2 Correct 93 ms 2624 KB Ok
3 Correct 1 ms 332 KB Ok
4 Correct 0 ms 324 KB Ok
5 Correct 1 ms 324 KB Ok
6 Incorrect 0 ms 204 KB Output -1 while solution exists
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB Output -1 while solution exists
2 Halted 0 ms 0 KB -