제출 #67402

#제출 시각아이디문제언어결과실행 시간메모리
67402zetapiParrots (IOI11_parrots)C++14
0 / 100
9 ms2328 KiB
#include "encoder.h"
#include "encoderlib.h"
#include "bits/stdc++.h"
using namespace std;

#define pb  push_back
#define mp  make_pair
#define ll  long long
#define itr ::iterator 

typedef pair<int,int>  pii;

const int MAX=1e5;

void encode(int N,int M[])
{
	int arr[1000];
	vector<pii> vec;
	for(int A=0;A<N;A++)
	{
		send(M[A]);
		send(M[A]);
		send(M[A]);
		vec.pb(mp(M[A],A));
	}	
	sort(vec.begin(),vec.end());
	for(int A=0;A<vec.size();A++)
		arr[vec[A].second]=A;
	set<int> st;
 	for(int A=0;A<N;A++)
	{
		int res=A;
		for(int B=0;B<4;B++)
		{
			if(arr[A]&(1<<B))
				res+=1<<(B+4);
		}	
		assert(st.find(res)==st.end());
		st.insert(res);
		send(res);
	}
	return ;
}
#include "decoder.h"
#include "decoderlib.h"
#include "bits/stdc++.h"
using namespace std;

#define pb  push_back
#define mp  make_pair
#define ll  long long
#define itr ::iterator 

typedef pair<int,int>  pii;

const int MAX=1e5;

void decode(int N, int L, int X[])
{
    assert(L==4*N);
	vector<int> vec;
	map<int,int> maps;
	int res[1000]={0};
  	for(int A=0;A<L;A++)
  		maps[X[A]]++;
  	for(auto A:maps)
  	{
  		int cur=A.second;
  		if(cur>=3)
  		{
  			cur-=3;
  			vec.pb(A.first);
  		}
  	}
  	sort(vec.begin(),vec.end());
  	for(auto A:maps)
  	{
  		if(A.second%3==0)
  			continue;
  		int ind=0,num=0;
  		for(int B=0;B<4;B++)
  			if(A.first&(1<<B))
  				ind+=(1<<B);
  		for(int B=0;B<4;B++)
  			if(A.first&(1<<(B+4)))
  				num+=(1<<B);
  		assert(res[ind]==0);
  		res[ind]=num;
  	}
  	for(int A=0;A<N;A++)
  		output(vec[res[A]]);
  	return ;
}

컴파일 시 표준 에러 (stderr) 메시지

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:27:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int A=0;A<vec.size();A++)
              ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...