제출 #1280568

#제출 시각아이디문제언어결과실행 시간메모리
1280568enzyData Transfer (IOI19_transfer)C++20
100 / 100
54 ms1728 KiB
#include"transfer.h"
#include<bits/stdc++.h>
using namespace std;
vector<int> get_attachment(vector<int> source){
    vector<int>v;
    int n=source.size();
    int qtd=__lg(n+1);
    int x=0;
    for(int i=0;i<n;i++) if(source[i]) x^=(i+1);
    int par=0;
    for(int k=qtd-1;k>=0;k--){
        if(x&(1<<k)){
            v.push_back(1);
            par^=1;
        }
        else v.push_back(0);
    }
    v.push_back(par);
    return v;
}

vector<int> retrieve(vector<int> data){
    vector<int>v;
    int N=data.size(), n;
    int par=data.back();
    data.pop_back();
    for(int x : data) v.push_back(x);
    if(N<=250) n=63;
    else n=255;
    int k=0, x=0, atp=0;
    while(v.size()>n){
        if(v.back()){
            x+=(1<<k);
            atp^=1;
        }
        k++;
        v.pop_back();
    }
    if(atp!=par) return v;
    int atx=0;
    for(int i=0;i<n;i++) if(v[i]) atx^=(i+1);
    int mudar=x^atx;
    if(mudar) v[mudar-1]^=1;
    return v;
}

컴파일 시 표준 에러 (stderr) 메시지

grader.cpp: In instantiation of 'void shuffle(std::vector<T>&) [with T = Scenario]':
grader.cpp:200:10:   required from here
grader.cpp:28:23: warning: 'void std::random_shuffle(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<Scenario*, vector<Scenario> >]' is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
   28 |         random_shuffle(v.begin(), v.end());
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61,
                 from grader.cpp:8:
/usr/include/c++/13/bits/stl_algo.h:4581:5: note: declared here
 4581 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
      |     ^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...