Submission #150364

#TimeUsernameProblemLanguageResultExecution timeMemory
150364----MIT합격선---- (#200)On the Grid (FXCUP4_grid)C++17
0 / 100
12 ms384 KiB
#include "grid.h"
#include <algorithm>
#include <iostream>
using namespace std;

int n;
vector<int> tmp, lis;

bool cmp(int i, int j){
	bool used[1010]={};
	for(int x:lis) used[x]=true, tmp.push_back(x);
	used[i] = used[j] = true;
	for(int k=0; k<n; k++) if(!used[k]) tmp.push_back(k);
	tmp.push_back(j);
	tmp.push_back(i);
	reverse(tmp.begin(), tmp.end());

	int x = PutDisks(tmp);
	swap(tmp[0], tmp[1]);
	int y = PutDisks(tmp);
	tmp.clear();
	return x<y;
}

std::vector<int> SortDisks(int N) {
	n=N;
	vector<int> ans;
	for(int i=0; i<n; i++) ans.push_back(-1);

	for(int i=n; i>=1; i--){
		int x = -1;
		for(int j=0; j<n; j++){
			if(ans[j]>=0) continue;
			if(x<0){ x=j; continue; }
			if(cmp(x,j)) x=j;
		}
		ans[x] = i, lis.push_back(x);
	}

	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...