Submission #580848

# Submission time Handle Problem Language Result Execution time Memory
580848 2022-06-22T02:06:31 Z JustInCase Super Dango Maker (JOI22_dango3) C++17
Compilation error
0 ms 0 KB
#include "dango3.h"
#include <random>
#include <vector>

#define solve Solve
#define	submitAnswer Answer
#define query Query

std::mt19937 mt(69);

void solve(int32_t n, int32_t m) {
	std::vector< int32_t > remDangos(n * m);
	std::vector< bool > used(n * m + 1, false);
	for(int32_t i = 1; i <= n * m; i++) {
		remDangos[i - 1] = i;
	}

	std::shuffle(std::begin(remDangos), std::end(remDangos), mt);

	for(int32_t r = 0; r < m; r++) {
		std::vector< int32_t > currentDangos;
		for(auto &x : remDangos) {
			std::vector< int32_t > queryDangos;
			for(int32_t i = 1; i <= n * m; i++) {
				if(!used[i] && i != x) {
					queryDangos.push_back(i);
				}
			}

			if(query(queryDangos) == m - r - 1) {
				currentDangos.push_back(x);
				used[x] = true;

				if(currentDangos.size() == n) {
					break;
				}
			}
		}

		submitAnswer(currentDangos);
		
		std::vector< int32_t > newRem;
		for(int32_t i = 1; i <= n * m; i++) {
			if(!used[i]) {
				newRem.push_back(i);
			}
		}

		remDangos = newRem;
	}
}

Compilation message

dango3.cpp: In function 'void Solve(int32_t, int32_t)':
dango3.cpp:18:7: error: 'shuffle' is not a member of 'std'
   18 |  std::shuffle(std::begin(remDangos), std::end(remDangos), mt);
      |       ^~~~~~~
dango3.cpp:34:29: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
   34 |     if(currentDangos.size() == n) {
      |        ~~~~~~~~~~~~~~~~~~~~~^~~~