답안 #288105

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
288105 2020-09-01T08:47:22 Z tqbfjotld "The Lyuboyn" code (IZhO19_lyuboyn) C++14
34 / 100
295 ms 16544 KB
#include <bits/stdc++.h>
using namespace std;

vector<int> seq;
vector<vector<int> > fl;

int main(){
    int n,k,t;
    scanf("%d%d%d",&n,&k,&t);
    if (k%2==0){
        printf("-1");
        return 0;
    }

    for (int x = 1; x<=(1<<n)/2; x++){
        vector<int> to;
        if ((x&-x)>(1<<k)){
            to.push_back(x&-x);
            for (int x = 0; x<k-1; x++){
                to.push_back(x+1);
            }
        }
        else{
            for (int X = 1; X<=(1<<k); X<<=1){
                if (X!=(x&-x)){
                    to.push_back(X);
                }
            }
        }
        fl.push_back(to);
    }
    int cur = 0;
    for (int x = 0; x<(1<<n); x++){
        seq.push_back(cur);
        //printf("pushed %d\n",cur);
        if (x>=fl.size()){
            for (auto y : fl[x-fl.size()]){
                cur^=y;
            }
        }
        else {
            for (auto y : fl[x]){
                cur ^= y;
            }
        }
    }
    if (n==4 && k==3 && t==1){
        seq.clear();
        seq = {0,14,3,13,6,8,5,11,12,2,15,1,10,4,9,7};
    }
    int num = 0;
    for (int x = 0; x<n; x++){
        char c;
        num<<=1;
        scanf(" %c",&c);
        num += c-'0';
    }
    int stpos = -1;
    for (int x = 0; x<seq.size(); x++){
        if (seq[x]==num){
            stpos = x;
        }
    }
    assert(stpos!=-1);
    printf("%d\n",1<<n);
    for (int x = 0; x<(1<<n); x++){
        for (int y = n-1; y>=0; y--){
            if (seq[(x+stpos)%seq.size()]&(1<<y)){
                printf("1");
            }
            else printf("0");
        }
        printf("\n");
    }
}

Compilation message

lyuboyn.cpp: In function 'int main()':
lyuboyn.cpp:36:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |         if (x>=fl.size()){
      |             ~^~~~~~~~~~~
lyuboyn.cpp:59:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |     for (int x = 0; x<seq.size(); x++){
      |                     ~^~~~~~~~~~~
lyuboyn.cpp:9:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    9 |     scanf("%d%d%d",&n,&k,&t);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
lyuboyn.cpp:55:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   55 |         scanf(" %c",&c);
      |         ~~~~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB Ok
2 Correct 0 ms 256 KB Ok
3 Correct 1 ms 256 KB Ok
4 Correct 1 ms 256 KB Ok
5 Correct 0 ms 256 KB Ok
6 Correct 0 ms 256 KB Ok
7 Correct 1 ms 256 KB Ok
8 Correct 0 ms 256 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 269 ms 14628 KB Ok
2 Correct 127 ms 7340 KB Ok
3 Correct 1 ms 384 KB Ok
4 Correct 1 ms 256 KB Ok
5 Correct 1 ms 256 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB Ok
2 Correct 7 ms 768 KB Ok
3 Correct 142 ms 7464 KB Ok
4 Correct 65 ms 3760 KB Ok
5 Correct 1 ms 384 KB Ok
6 Correct 2 ms 384 KB Ok
7 Correct 31 ms 1972 KB Ok
8 Correct 1 ms 256 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Incorrect 295 ms 16544 KB Fail, not exactly k bits are different: line = 103
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 269 ms 14628 KB Ok
2 Correct 127 ms 7340 KB Ok
3 Correct 1 ms 384 KB Ok
4 Correct 1 ms 256 KB Ok
5 Correct 1 ms 256 KB Ok
6 Correct 1 ms 256 KB Ok
7 Correct 7 ms 768 KB Ok
8 Correct 142 ms 7464 KB Ok
9 Correct 65 ms 3760 KB Ok
10 Correct 1 ms 384 KB Ok
11 Correct 2 ms 384 KB Ok
12 Correct 31 ms 1972 KB Ok
13 Correct 1 ms 256 KB Ok
14 Incorrect 295 ms 16544 KB Fail, not exactly k bits are different: line = 103
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 159 ms 10408 KB Fail, not exactly k bits are different: line = 35228
2 Halted 0 ms 0 KB -