답안 #172372

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
172372 2020-01-01T12:15:12 Z bharat2002 사육제 (CEOI14_carnival) C++14
0 / 100
38 ms 584 KB
/*input

*/
#include<bits/stdc++.h>
using namespace std;
const int N=151;
const int mod=1e9 + 7;
#define int long long
const int inf=1e18;
#define pii pair<int, int>
#define f first
#define s second 
#define mp make_pair
#define FOR(i, n) for(int i=1;i<=n;i++)
#define TRACE(x) cerr << #x << " = " << x << endl 
//Trace prints the name of the variable and the value.
bool inc[N];int col[N];
int graph[N][N];int n;
bool p(int guy, int x)
{
	int num=1 + n-x+1;
	cout<<num-1<<" ";
	for(int i=x;i<=n;i++) cout<<i<<" ";cout<<endl;
	int ans, temp;cin>>temp;
	cout<<num<<" "<<guy<<" ";
	for(int i=x;i<=n;i++) cout<<i<<" ";cout<<endl;
	cin>>ans;
	return ans==temp;
}
vector< set<int> > vals;
signed main()
{
	ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++) graph[i][j]=0;inc[i]=0;
		col[i]=-1;
	}
	set<int> cur;
	for(int i=1;i<=n;i++)
	{
		if(inc[i]) continue;
		int l=i+1;inc[i]=1;cur.clear();cur.insert(i);
		int r=n;
		while(r>i)
		{
			l=i+1;
			while(l<r)
			{
				int mid=(l+r+1)/2;
				if(p(i, mid)) l=mid;
				else r=mid-1;
			}
			if(!p(i, r)) break;
			assert(l==r);
			cur.insert(r);inc[r]=1;r--;
		}
		vals.push_back(cur);
	}
	int cv=1;
	for(auto i:vals)
	{
		for(auto j:i) col[j]=cv;
		cv++;
	}
	cout<<0<<" ";
	for(int i=1;i<=n;i++) cout<<col[i]<<" ";
	cout<<endl;
}

Compilation message

carnival.cpp: In function 'bool p(long long int, long long int)':
carnival.cpp:23:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
  for(int i=x;i<=n;i++) cout<<i<<" ";cout<<endl;
  ^~~
carnival.cpp:23:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  for(int i=x;i<=n;i++) cout<<i<<" ";cout<<endl;
                                     ^~~~
carnival.cpp:26:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
  for(int i=x;i<=n;i++) cout<<i<<" ";cout<<endl;
  ^~~
carnival.cpp:26:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  for(int i=x;i<=n;i++) cout<<i<<" ";cout<<endl;
                                     ^~~~
carnival.cpp: In function 'int main()':
carnival.cpp:37:3: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   for(int j=1;j<=n;j++) graph[i][j]=0;inc[i]=0;
   ^~~
carnival.cpp:37:39: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   for(int j=1;j<=n;j++) graph[i][j]=0;inc[i]=0;
                                       ^~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 32 ms 584 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 38 ms 516 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 35 ms 496 KB Output is correct
2 Incorrect 24 ms 504 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 34 ms 504 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 38 ms 520 KB Incorrect
2 Halted 0 ms 0 KB -