제출 #351628

#제출 시각아이디문제언어결과실행 시간메모리
351628kylych03앵무새 (IOI11_parrots)C++14
96 / 100
11 ms1540 KiB
#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
using namespace std;
void encode(int N, int M[])
{
  	int i;
  	for(i = 0 ; i < N; i++)
  		M[i]^=145;
  	if(N > 32){
  		for(i=0; i<N; i++){
			int packet=(i<<2);
			for(int j= 0 ; j < 8 ;j++){
				  if(( M[i]>>j )&1){
				  	if(j%2==1)
					send(packet+j/2);
					send(packet+j/2);
				}	
			}
		}
  	}
  	else
  	
	for(i=0; i<N; i++){
		int packet=(i<<3);
		for(int j= 0 ; j < 8 ;j++){
			  if(( M[i]>>j )&1){
				send(packet+j);
			}	
		}
	}
	
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
using namespace std;
int res[100];
void decode(int N, int L, int X[])
{
  	int i;
	for(i=0; i<N; i++) 
	  	res[i]=0;
	for(i=0; i<L; i++){
		if(N > 32)
			res[X[i]>>2]+=( 1<<((X[i]&3)*2));
		else
	  		res[X[i]>>3]|=( 1<<(X[i]&7));	
	}
	for(i=0; i<N; i++) {   
	    output(res[i]^145);
	}

}
#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...