Submission #954220

# Submission time Handle Problem Language Result Execution time Memory
954220 2024-03-27T12:45:20 Z PM1 Flight to the Ford (BOI22_communication) C++17
0 / 100
193 ms 352 KB
#include <bits/stdc++.h>
#include "communication.h"
using namespace std;

void encode(int n,int x){
	int last=30;
	for(int i=29;i>=0;i--){
		int z=(x&(1<<i))?1:0;
		int a=send(z),b=send(z);
		if(a==b){
			if(last==30)continue;
			z=(x&(1<<last))?1:0;
			a=send(z);
			b=send(z);
			if(a==b)
				last=30;	
		}
		else
			last=i;
	}
}

pair<int,int> decode(int n){
	int last=30;
	int a,b;
	for(int i=29;i>=0;i--){
		int x=receive(),y=receive();
		a+=(x<<i);
		b+=(x<<i);
		if(x==y){
			if(last==30)continue;
			x=receive();
			y=receive();
			if(x==y){
				if((a&(1<<last))==(x<<last))
					b=a;
				else
					a=b;
				last=30;
			}
			else{
				if((a&(1<<last))!=(x<<last))
						swap(a,b);
			}
		}
		else
			last=i;
	}
	return make_pair(a,b);
}

Compilation message

communication.cpp: In function 'std::pair<int, int> decode(int)':
communication.cpp:29:4: warning: 'b' may be used uninitialized in this function [-Wmaybe-uninitialized]
   29 |   b+=(x<<i);
      |   ~^~~~~~~~
communication.cpp:28:4: warning: 'a' may be used uninitialized in this function [-Wmaybe-uninitialized]
   28 |   a+=(x<<i);
      |   ~^~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 19 ms 332 KB Not correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 193 ms 352 KB Not correct
2 Halted 0 ms 0 KB -