Submission #1254756

#TimeUsernameProblemLanguageResultExecution timeMemory
1254756lambd47Saveit (IOI10_saveit)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "grader.h" #include "decoder.h" using namespace std; #define L(i,j,k) for(int i=(j);i<=(k);i++) #define sz(v) ((int)(v).size()) #define all(v) (v).begin(),(v).end() void decode(int n, int h) { vector<vector<int>> adj(n); auto liga=[&]()->bool{ int a=0; L(i,0,9){ if(decode_bit()==1)a|=(1<<i); } int b=0; L(i,0,9){ if(decode_bit()==1)b|=(1<<i); } adj[a].push_back(b); adj[b].push_back(a); return true; }; L(j,1,n-1)liga(); L(i,0,n-1){ cout<<i<<": "<<endl; for(auto a:adj[i])cout<<a<<" "; cout<<endl; } vector<int> dist(n,-1); vector<int> pai(n,0); auto bfs=[&](int node){ hops(node,node,0); dist[node]=0; queue<int> fila; fila.push(node); while(!fila.empty()){ int a=fila.front(); fila.pop(); for(auto b:adj[a]){ if(dist[b]!=-1)continue; pai[b]=a; dist[b]=dist[a]+1; hops(node,b,dist[b]); fila.push(b); } } }; bfs(0); vector<vector<int>> dp(h,vector<int> (n)); L(i,1,h-1){ L(j,1,n-1){ int a=decode_bit(); int b=decode_bit(); a<<=1; a|=b; dp[i][j]=a; } } int resp=0; int hub=0; auto calc=[&](auto&& self,int a,int b)->void{ if(dist[a]<dist[b])swap(a,b); if(a==b)return; if(dp[hub][a]==0){ resp++; } else if(dp[hub][a]==2){ resp--; } self(self,pai[a],b); }; L(i,1,h-1){ hub=i; L(j,0,n-1){ resp=0; calc(calc,i,j); } } }
#include "grader.h" #include "encoder.h" #include <bits/stdc++.h> using namespace std; #define L(i,j,k) for(int i=(j);i<=(k);i++) #define sz(v) ((int)(v).size()) #define all(v) (v).begin(),(v).end() void encode(int n, int h, int m, int *v1, int *v2){ vector<vector<int>> adj(n); vector<pair<int,int>> edg(m); vector<bool> marc(m); vector<int> resp; vector<vector<int>> pseudo(h,vector<int>(n,0)); L(i,0,m-1){ adj[v1[i]].push_back(i); adj[v2[i]].push_back(i); } vector<vector<int>> dp(h,vector<int>(n,-1)); vector<int> pai(n); auto bfs=[&](int node){ queue<int> fila; fila.push(node); dp[node][node]=0; while(!fila.empty()){ int v=fila.front(); fila.pop(); for(auto e:adj[v]){ int vai=edg[e].first^edg[e].second^v; if(dp[node][vai]!=-1)continue; if(!marc[e])marc[e]=1; if(node==0)pai[vai]=v; dp[node][vai]=dp[node][v]+1; fila.push(vai); } } }; bfs(0); auto send=[&](int x,int mx){ L(i,0,mx){ encode_bit((x&(1<<i))==0?0:1); } }; L(i,0,m-1){ if(marc[i]){ if(edg[i].first < h || edg[i].second<h)continue; send(edg[i].first,9); send(edg[i].second,9); } } L(i,1,h-1)bfs(i); L(i,1,h-1){ L(j,1,n-1){ if(dp[i][j]>dp[i][pai[j]])send(0,1); else if(dp[i][j]==dp[i][j])send(1,1); else send(2,1); } } }

Compilation message (stderr)

# 1번째 컴파일 단계

encoder.cpp:3:10: fatal error: decoder.h: No such file or directory
    3 | #include "decoder.h"
      |          ^~~~~~~~~~~
compilation terminated.