제출 #418547

#제출 시각아이디문제언어결과실행 시간메모리
418547EncryptingWolfMechanical Doll (IOI18_doll)C++14
컴파일 에러
0 ms0 KiB
#include <vector> #include "dolls.h" #include <iostream> #include <queue> #include <algorithm> #include <cmath> typedef long long ll; #define FOR(i,x,y) for (ll i = x; i<y; i++) using namespace std; long long reverse(long long a, long long num) { long long p = long long(log2(num) + 0.001); ll r=0; FOR(i, 0, p) { if ((a >> i) & 1) { r +=( 1 << (p - i-1)); } } return r; } void create_circuit(int M, vector<int> A) { A.push_back(0); M += 1; vector<int> connections(M,0); connections[0] = A[0]; vector<pair<int,int>> switches; vector<vector<int>> follow(M); FOR(i, 0, A.size() - 1) { follow[A[i]].push_back(A[i + 1]); } int lowestSwitch = -1; FOR(i,1,M) { if (follow[i].size() == 1) { connections[i]=follow[i][0]; } else if (follow[i].size() ==0) { continue; } else { connections[i] = lowestSwitch; switches.push_back({}); lowestSwitch--; int switchStart = lowestSwitch; int num = 1; while (num*2 < follow[i].size()) { int firstSwitch = switches.size() - num; FOR(j, firstSwitch, firstSwitch+num) { switches[j].first = lowestSwitch; switches[j].second = lowestSwitch-1; lowestSwitch -= 2; switches.push_back({}); switches.push_back({}); } num *= 2; } int firstSwitch = switches.size() - num; int outnum = num * 2; int z = 0; FOR(k, 0, outnum) { int j = reverse(k, outnum)+ (firstSwitch * 2); if (outnum > follow[i].size()) { if (j % 2 == 0) { switches[j / 2].first = switchStart; } if (j % 2 == 1) { switches[j / 2].second = switchStart; } } else { if (j % 2 == 0) { switches[j / 2].first = follow[i][z]; } if (j % 2 == 1) { switches[j / 2].second = follow[i][z]; } z++; } } } } vector<int> X, Y; FOR(i, 0, switches.size()) { X.push_back(switches[i].first); Y.push_back(switches[i].second); } answer(connections, X, Y); }

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

doll.cpp:2:10: fatal error: dolls.h: No such file or directory
    2 | #include "dolls.h"
      |          ^~~~~~~~~
compilation terminated.