Submission #868050

# Submission time Handle Problem Language Result Execution time Memory
868050 2023-10-30T10:10:15 Z TAhmed33 Flight to the Ford (BOI22_communication) C++17
0 / 100
12 ms 332 KB
    #include <bits/stdc++.h>
    #include <communication.h>
    using namespace std;
    vector <string> arr = {
    	"1010",
    	"1001",
    	"0101",
    	"0100",
    	"0010",
    	"0001",
    	"0000"
    };
    string pp (string a, string b) {
    	string ret;
    	for (int i = 0; i < 4; i++) {
    		if (a[i] == b[i]) ret += '0';
    		else ret += '1';
    	}
    	return ret;
    }
    void encode (int n, int x) {
    	if (x == 1) {
    		send(0); send(0); send(0); send(0);
    	} else if (x == 2) {
    		send(0); send(0); send(1); send(0);
    	} else {
    		send(1); send(1); send(0); send(0);
    	}
    }
    pair <int, int> decode (int n) {
    	string a = "0000", b = "0010", c = "1100";
    	map <string, vector <int>> x;
    	for (auto i : arr) x[pp(a, i)].push_back(1);
    	for (auto i : arr) x[pp(b, i)].push_back(2);
    	for (auto i : arr) x[pp(c, i)].push_back(3);
    	string s; for (int i = 0; i < 4; i++) s += (char)(receive() + '0');
    	if (x[s].size() == 1) {
    		return {x[s].front(), x[s].front()};
    	} else {
    		return {x[s].front(), x[s].back()};
    	}
    }
    /*
    0000
    1100
    0010
     
    */
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 332 KB Not correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 12 ms 332 KB Not correct
2 Halted 0 ms 0 KB -