제출 #1315348

#제출 시각아이디문제언어결과실행 시간메모리
1315348ezzzay메시지 (IOI24_message)C++17
컴파일 에러
0 ms0 KiB
#include "message.h" #include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back void send_message(std::vector<bool> M, std::vector<bool> C) { vector<int>idx; for(int i=0;i<31;i++){ if(C[i]==0)idx.pb(i); //16 shirheg } idx.pb(idx[0]); for(int i=0;i<5;i++){ vector<bool>v(31); for(int j=0;j<16;j++){ v[idx[j]]= bool ((1<<i) & (idx[j+1])); } send_packet(v); } int L=M.size(); vector<bool>tmp(31); for(int i=0;i<15;i++){ if(L & (1<<i)){ tmp[idx[i]]=1; } } send_packet(tmp); for(int i=0;i<L/16;i++){ vector<bool>v(31); for(int j=0;j<16;j++){ v[idx[j]]=M[i*16+j]; } send_packet(v); } if(L%16){ vector<bool>v(31); for(int j=0;j<L%16;j++){ v[idx[j]]=M[L-L%16+j]; } send_packet(v); } } std::vector<bool> receive_message(std::vector<std::vector<bool>> R) { vector<int>child(31); for(int i=0;i<5;i++){ for(int j=0;j<31;j++){ child[j]+= (1<<i) * R[i][j]; } } vector<int>idx; for(int x=0;x<31;x++){ queue<int>q; vector<int>dst(31); vector<int>par(31); vis[x]=1; q.push(x); int u=0; while(!q.empty()){ auto a=q.front(); q.pop_front(); int b=child[a]; if(dst[b]==0){ par[b]=a; dst[b]=dst[a]+1; if(b==x and dst[a]==16){ u=a; } q.push(b); } } if(u==0)continue; while(u!=0){ idx.pb(u); u=par[u]; } break; } int L=0; for(int i=0;i<15;i++){ if(R[5][idx[i]])L+=(1<<i); } vector<bool>M(L); for(int i=0;i<L/16;i++){ vector<bool>v(31); for(int j=0;j<16;j++){ M[i*16+j]=R[i+6][idx[j]]; } } if(L%16){ vector<bool>v(31); for(int j=0;j<L%16;j++){ M[L-L%16+j]=R.back()[idx[j]]; } } return M; }

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

message.cpp: In function 'std::vector<bool> receive_message(std::vector<std::vector<bool> >)':
message.cpp:57:17: error: 'vis' was not declared in this scope
   57 |                 vis[x]=1;
      |                 ^~~
message.cpp:62:27: error: 'class std::queue<int>' has no member named 'pop_front'
   62 |                         q.pop_front();
      |                           ^~~~~~~~~