제출 #1310827

#제출 시각아이디문제언어결과실행 시간메모리
1310827lizi14Data Transfer (IOI19_transfer)C++20
100 / 100
58 ms1728 KiB
#include "transfer.h" #include <bits/stdc++.h> using namespace std; vector<int>get_attachment(vector<int>source){ int N=source.size(); vector<int>k; for(int i=0; i<=log2(N); i++){ k.push_back(0); } int bati=0; for(int i=1; i<=N; i++){ if(source[i-1]==1){ bati^=i; } } vector<int>h; for(int i=0; i<=log2(bati); i++){ if(bati&(1<<i))h.push_back(1); else h.push_back(0); } int ixvi=0; for(int i=0; i<h.size(); i++){ k[i]=h[i]; if(h[i]==1)ixvi++; } vector<int>dataa; //dataa=source; //cout<<bati<<endl; for(int i=0; i<k.size(); i++){ dataa.push_back(k[i]); //cout<<k[i]<<" "; } //cout<<endl; //data=data+(k.begin(), k.end()); if(ixvi%2==0)dataa.push_back(0); else dataa.push_back(1); // for(auto a:dataa){ // cout<<a<<" "; // } // cout<<endl; return dataa; //return { 0, 1, 0 }; } vector<int>retrieve(vector<int>data){ // for(auto a:data){ // cout<<a<<" "; // } //cout<<endl; int bati=0; int ka; //cout<<data.size()<<endl; if(data.size()>=100)ka=9; else ka=7; int N=data.size()-ka; //cout<<N<<endl; for(int i=1; i<=N; i++){ if(data[i-1]==1){ bati^=i; } } int ixvi=0; int drnachvi=0; for(int i=N; i<N+ka-1; i++){ if(data[i]==1){ drnachvi++; ixvi+=(1<<(i-N)); } } //cout<<ixvi<<endl; //cout<<bati<<endl; if(ixvi==bati){ vector<int>v; for(int i=0; i<N; i++){ v.push_back(data[i]); } return v; } int m=data.size(); if(drnachvi%2==data[m-1]){ int idex=ixvi^bati; vector<int>v; for(int i=0; i<N; i++){ if(i==idex-1){ v.push_back(1-data[i]); continue; } else{ v.push_back(data[i]); } } return v; } else{ vector<int>v; for(int i=0; i<N; i++){ v.push_back(data[i]); } return v; } //return vector<int>(data.begin(), data.end()-3); }

컴파일 시 표준 에러 (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...