Submission #1263223

#TimeUsernameProblemLanguageResultExecution timeMemory
1263223bluevioletCave (IOI13_cave)C++20
Compilation error
0 ms0 KiB
#include             <bits/stdc++.h>
    
#define             ll   long long
#define          io(x)   if (fopen(x".inp","r")) {freopen(x".inp","r",stdin),freopen(x".out","w",stdout);}
#define        TimeRun   {End=clock();cerr<<"Time run: "<<(float)(End-Begin)/CLOCKS_PER_SEC<<"s"<<el;}
#define      mem(c, x)   memset(c, x, sizeof(c))
#define         all(c)   c.begin(), c.end()
#define       bit(i,j)   ((i >> j) & 1)
#define             se   second     
#define             fi   first
#define             el   '\n'
using namespace std;  

template<class X, class Y> bool maximize(X &a, const Y &b) { return (a < b ? a = b, 1 : 0); }
template<class X, class Y> bool minimize(X &a, const Y &b) { return (a > b ? a = b, 1 : 0); }

int dx[8] = {0, 1, 0,-1, 1, 1,-1,-1};
int dy[8] = {1, 0,-1, 0, 1,-1,-1, 1};
const int  maxn  = 1e5 + 9;
const int  Inf   = 2e9 + 7;
const ll   Infll = 1e18 + 9;
const ll   Mod   = 1e9 + 7;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
set<int> st;
int n, type[maxn], switchWithDoor[maxn];

int tryCombination(const vector<int> &s);

void answer(vector<int> &S, vector<int> &D);

void exploreCave(int n) {


	vector<int> s(n, 0), D(n, 0);
	for (int i=0; i<n; i++) st.insert(i);

	while (1) {
		int firstClosed = tryCombination(s);

		if (firstClosed == -1) break;

		for (auto id=st.begin(); id!=st.end(); ) {
			int pos = *id;
			s[pos] ^= 1;
			int pp = tryCombination(s);
			if (pp == -1) break;
			if (pp < firstClosed) {
				s[pos] ^= 1;
				D[pos] = pp;
				++id;
				st.erase(pos);
			} else
			if (pp > firstClosed) {
				++id;
				D[pos] = firstClosed;
				st.erase(pos);
				break;
			} else { // pp == firstClosed
				++id;
				s[pos] ^= 1;
			}
		}
	}
	answer(s, D);
}

Compilation message (stderr)

cave.cpp:29:44: warning: `\U0000037e' is not in NFC [-Wnormalized=]
   29 | void answer(vector<int> &S, vector<int> &D);
      |                                            ^
cave.cpp:29:44: error: expected initializer before '\U0000037e'
   29 | void answer(vector<int> &S, vector<int> &D);
      |                                            ^