Submission #427042

# Submission time Handle Problem Language Result Execution time Memory
427042 2021-06-14T11:58:49 Z Hazem Ancient Books (IOI17_books) C++14
Compilation error
0 ms 0 KB
#include "books.h"
#include <bits/stdc++.h>
#define LL long long 

using namespace std;

const LL LINF  = 1e18;

int a[10],n;
vector<int>vec;

bool check(){

	bool q = 1;
	for(int i=0;i<n;i++)
		q &= (a[i]==vec[i]);
	
	return q;
}

LL bt(int pos,int cur,int cnt);

LL move(int pos,int cur,int cnt){

	LL ret = LINF;
	if(pos<n-1)
		ret = min(ret,bt(pos+1,cur,cnt+1));
	
	if(pos>0)
		ret = min(ret,bt(pos-1,cur,cnt+1));

	return ret;
}

LL bt(int pos,int cur,int &cnt){

	if(!pos&&check())
		return cnt;
	
	if(cnt>16)
		return LINF;

	LL ret = LINF;
	ret = min(ret,move(pos,cur,cnt));
	
	// if(cur==-1){
	// 	cur = a[pos];
	// 	a[pos] = -1;
	// 	ret=  min(ret,move(pos,cur,cnt));
	// 	a[pos] = cur;
	// 	cur = -1;
	// }

	// if(a[pos]==-1){
	// 	a[pos] = cur;
	// 	cur = -1;
	// 	ret = min(ret,move(pos,cur,cnt));
	// 	cur = a[pos];
	// 	a[pos] = -1;
	// }

	swap(cur,a[pos]);
	ret = min(ret,move(pos,cur,cnt));
	swap(cur,a[pos]);

	return ret;
}

long long minimum_walk(std::vector<int> P, int s) {	
	
	vec = P;
	n = P.size();
	for(int i=0;i<n;i++)
		a[i] = i;

	return bt(0,-1,0);
}

Compilation message

/usr/bin/ld: /tmp/ccbtqyfJ.o: in function `move(int, int, int)':
books.cpp:(.text+0x9a): undefined reference to `bt(int, int, int)'
/usr/bin/ld: books.cpp:(.text+0xbf): undefined reference to `bt(int, int, int)'
/usr/bin/ld: /tmp/ccbtqyfJ.o: in function `minimum_walk(std::vector<int, std::allocator<int> >, int)':
books.cpp:(.text+0x2af): undefined reference to `bt(int, int, int)'
collect2: error: ld returned 1 exit status