이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
void move_inside(int i);
void move_outside(int i);
int press_button();
#include <iostream>
#include <vector>
using namespace std;
int min_cardinality(int N)
{
	bool vis[N]={};
	int ans=N;
	for (int i=0;i<N;i++)
	{
		if (vis[i])
			continue;
		vis[i]=1;
		vector<int>f;
		f.push_back(i);
		move_inside(i);
		int cnt=1;
		for (int j=i+1;j<N&&cnt<ans;j++)
		{
			if (vis[j])
				continue;
			cnt++;
			move_inside(j);
			if (press_button()==cnt)
			{
				vis[j]=1;
				continue;
				f.push_back(j);
			}
			move_outside(j);
			cnt--;
		}
		for (auto j:f)
			move_outside(j);
		cnt=min(cnt,ans);
	}
	return ans;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |