Submission #1120165

#TimeUsernameProblemLanguageResultExecution timeMemory
1120165vjudge1Art Collections (BOI22_art)C++17
Compilation error
0 ms0 KiB
#include "art.h"
using namespace std;
//
// --- Sample implementation for the task art ---
//
// To compile this program with the sample grader, place:
//     art.h art_sample.cpp sample_grader.cpp
// in a single folder, then open the terminal in this directory (right-click onto an empty spot in the directory,
// left click on "Open in terminal") and enter e.g.:
//     g++ -std=c++17 art_sample.cpp sample_grader.cpp
// in this folder. This will create a file a.out in the current directory which you can execute from the terminal
// as ./a.out
// See task statement or sample_grader.cpp for the input specification
//
double t = 1.0;

double rnd() {
	return double(rand()) / RAND_MAX;
}

void solve(int n) {
	srand(time(0));
	vector <int> order;
	for (int i = 1; i <= n; i++) {
		order.push_back(i);
	}
	int ans = publish(order);
	while(ans > 0) {
		t *= 0.99;
		vector <int> v = order;
		swap(v[rand() % n], v[rand() % n]);
		int sum = publish(v);
		if (sum < ans || rnd() < exp((ans - sum) / t)) {
			ans = sum;
			order = v;
		}
	}
	answer(order);
}

Compilation message (stderr)

art.cpp: In function 'double rnd()':
art.cpp:18:16: error: 'rand' was not declared in this scope; did you mean 'rnd'?
   18 |  return double(rand()) / RAND_MAX;
      |                ^~~~
      |                rnd
art.cpp:18:26: error: 'RAND_MAX' was not declared in this scope
   18 |  return double(rand()) / RAND_MAX;
      |                          ^~~~~~~~
art.cpp: In function 'void solve(int)':
art.cpp:22:8: error: 'time' was not declared in this scope
   22 |  srand(time(0));
      |        ^~~~
art.cpp:22:2: error: 'srand' was not declared in this scope; did you mean 'rnd'?
   22 |  srand(time(0));
      |  ^~~~~
      |  rnd
art.cpp:31:10: error: 'rand' was not declared in this scope; did you mean 'rnd'?
   31 |   swap(v[rand() % n], v[rand() % n]);
      |          ^~~~
      |          rnd
art.cpp:33:28: error: 'exp' was not declared in this scope
   33 |   if (sum < ans || rnd() < exp((ans - sum) / t)) {
      |                            ^~~
interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~