Submission #345867

#TimeUsernameProblemLanguageResultExecution timeMemory
345867oleh1421"The Lyuboyn" code (IZhO19_lyuboyn)C++17
100 / 100
272 ms8020 KiB
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
#define endl '\n'
const int N=1010;
const ll mod=1000000007;
void print(int x,int n){
    for (int i=n-1;i>=0;i--){
        cout<<(x>>i)%2;
    }
    cout<<endl;
}
void solve(){
    int n,k,t;cin>>n>>k>>t;
    string str;cin>>str;
    int F0=0;
    for (auto i:str){
        F0*=2;
        F0+=i-'0';
    }
    vector<int>basis;
    vector<int>real_basis;
    for (int i=0;i<(1<<n);i++){
        if (__builtin_popcount(i)==k){
            int x=i;
            for (int y:basis){
                x=min(x,x^y);
            }
            if (x) basis.push_back(x),real_basis.push_back(i);
        }
    }
    if (basis.size()!=n){
        cout<<-1<<endl;
        return;
    }
    vector<int>pref;
    for (int i=0;i<n;i++){
        vector<int>nw=pref;
        nw.push_back(real_basis[i]);
        for (int x:pref) nw.push_back(x);
        pref=nw;
    }
    cout<<(1<<n)<<endl;
    print(F0,n);
    for (int x:pref){
        F0^=x;
        print(F0,n);
    }
}
int32_t main()
{

    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int tt=1;
    while (tt--){
        solve();
    }

    return 0;
}

Compilation message (stderr)

lyuboyn.cpp: In function 'void solve()':
lyuboyn.cpp:34:21: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   34 |     if (basis.size()!=n){
      |         ~~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...