제출 #1154628

#제출 시각아이디문제언어결과실행 시간메모리
1154628simuyuBroken Device (JOI17_broken_device)C++20
0 / 100
17 ms1344 KiB
#include <bits/stdc++.h> #include "Annalib.h" //#include <Brunolib.h> using namespace std; #define f first #define s second #define ll long long void Anna( int N, long long X, int K, int P[] ) { int sshuffle[151]; sshuffle[0] = 124; sshuffle[1] = 115; sshuffle[2] = 5; sshuffle[3] = 9; sshuffle[4] = 123; sshuffle[5] = 39; sshuffle[6] = 37; sshuffle[7] = 134; sshuffle[8] = 105; sshuffle[9] = 96; sshuffle[10] = 58; sshuffle[11] = 34; sshuffle[12] = 113; sshuffle[13] = 54; sshuffle[14] = 129; sshuffle[15] = 77; sshuffle[16] = 145; sshuffle[17] = 33; sshuffle[18] = 36; sshuffle[19] = 11; sshuffle[20] = 133; sshuffle[21] = 126; sshuffle[22] = 20; sshuffle[23] = 119; sshuffle[24] = 59; sshuffle[25] = 14; sshuffle[26] = 47; sshuffle[27] = 75; sshuffle[28] = 127; sshuffle[29] = 32; sshuffle[30] = 112; sshuffle[31] = 146; sshuffle[32] = 92; sshuffle[33] = 99; sshuffle[34] = 35; sshuffle[35] = 102; sshuffle[36] = 95; sshuffle[37] = 131; sshuffle[38] = 41; sshuffle[39] = 65; sshuffle[40] = 18; sshuffle[41] = 89; sshuffle[42] = 43; sshuffle[43] = 68; sshuffle[44] = 26; sshuffle[45] = 8; sshuffle[46] = 87; sshuffle[47] = 13; sshuffle[48] = 149; sshuffle[49] = 130; sshuffle[50] = 83; sshuffle[51] = 78; sshuffle[52] = 86; sshuffle[53] = 137; sshuffle[54] = 143; sshuffle[55] = 101; sshuffle[56] = 148; sshuffle[57] = 63; sshuffle[58] = 94; sshuffle[59] = 76; sshuffle[60] = 140; sshuffle[61] = 55; sshuffle[62] = 21; sshuffle[63] = 120; sshuffle[64] = 10; sshuffle[65] = 84; sshuffle[66] = 38; sshuffle[67] = 29; sshuffle[68] = 144; sshuffle[69] = 40; sshuffle[70] = 60; sshuffle[71] = 50; sshuffle[72] = 24; sshuffle[73] = 88; sshuffle[74] = 114; sshuffle[75] = 91; sshuffle[76] = 116; sshuffle[77] = 70; sshuffle[78] = 12; sshuffle[79] = 6; sshuffle[80] = 93; sshuffle[81] = 147; sshuffle[82] = 141; sshuffle[83] = 28; sshuffle[84] = 136; sshuffle[85] = 110; sshuffle[86] = 27; sshuffle[87] = 4; sshuffle[88] = 66; sshuffle[89] = 67; sshuffle[90] = 79; sshuffle[91] = 138; sshuffle[92] = 51; sshuffle[93] = 56; sshuffle[94] = 117; sshuffle[95] = 74; sshuffle[96] = 125; sshuffle[97] = 69; sshuffle[98] = 142; sshuffle[99] = 82; sshuffle[100] = 132; sshuffle[101] = 0; sshuffle[102] = 106; sshuffle[103] = 16; sshuffle[104] = 97; sshuffle[105] = 85; sshuffle[106] = 104; sshuffle[107] = 100; sshuffle[108] = 49; sshuffle[109] = 135; sshuffle[110] = 42; sshuffle[111] = 73; sshuffle[112] = 71; sshuffle[113] = 1; sshuffle[114] = 81; sshuffle[115] = 118; sshuffle[116] = 15; sshuffle[117] = 2; sshuffle[118] = 30; sshuffle[119] = 107; sshuffle[120] = 31; sshuffle[121] = 103; sshuffle[122] = 52; sshuffle[123] = 7; sshuffle[124] = 139; sshuffle[125] = 98; sshuffle[126] = 22; sshuffle[127] = 25; sshuffle[128] = 45; sshuffle[129] = 17; sshuffle[130] = 53; sshuffle[131] = 109; sshuffle[132] = 121; sshuffle[133] = 122; sshuffle[134] = 90; sshuffle[135] = 19; sshuffle[136] = 72; sshuffle[137] = 46; sshuffle[138] = 80; sshuffle[139] = 23; sshuffle[140] = 57; sshuffle[141] = 61; sshuffle[142] = 128; sshuffle[143] = 44; sshuffle[144] = 111; sshuffle[145] = 108; sshuffle[146] = 3; sshuffle[147] = 48; sshuffle[148] = 64; sshuffle[149] = 62; // hamming code yay HAHA bool b1, b2, b3, b4, b5, b6, b7; int nextbit = 0; for (int i=0; i<60; i+=4) { // i to i+4 are the data bits b1 = (bool) ( X & (1<<i) ); b2 = (bool) ( X & (1<<(i+1)) ); b3 = (bool) ( X & (1<<(i+2)) ); b4 = (bool) ( X & (1<<(i+3)) ); // b1^b2^b3^b5 = 0 // b5 = b1^b2^b3 b5 = b1^b2^b3; b6 = b2^b3^b4; b7 = b2^b3^b4; // set those seven bits!! Set(sshuffle[nextbit++], (int)b1); Set(sshuffle[nextbit++], (int)b2); Set(sshuffle[nextbit++], (int)b3); Set(sshuffle[nextbit++], (int)b4); Set(sshuffle[nextbit++], (int)b5); Set(sshuffle[nextbit++], (int)b6); Set(sshuffle[nextbit++], (int)b7); } // then the rest is just nothing while (nextbit < 150) { Set(sshuffle[nextbit++], 0); } }
#include <bits/stdc++.h> //#include <Annalib.h> #include "Brunolib.h" using namespace std; #define f first #define s second #define ll long long long long Bruno( int N, int A[] ) { int sshuffle[151]; sshuffle[0] = 124; sshuffle[1] = 115; sshuffle[2] = 5; sshuffle[3] = 9; sshuffle[4] = 123; sshuffle[5] = 39; sshuffle[6] = 37; sshuffle[7] = 134; sshuffle[8] = 105; sshuffle[9] = 96; sshuffle[10] = 58; sshuffle[11] = 34; sshuffle[12] = 113; sshuffle[13] = 54; sshuffle[14] = 129; sshuffle[15] = 77; sshuffle[16] = 145; sshuffle[17] = 33; sshuffle[18] = 36; sshuffle[19] = 11; sshuffle[20] = 133; sshuffle[21] = 126; sshuffle[22] = 20; sshuffle[23] = 119; sshuffle[24] = 59; sshuffle[25] = 14; sshuffle[26] = 47; sshuffle[27] = 75; sshuffle[28] = 127; sshuffle[29] = 32; sshuffle[30] = 112; sshuffle[31] = 146; sshuffle[32] = 92; sshuffle[33] = 99; sshuffle[34] = 35; sshuffle[35] = 102; sshuffle[36] = 95; sshuffle[37] = 131; sshuffle[38] = 41; sshuffle[39] = 65; sshuffle[40] = 18; sshuffle[41] = 89; sshuffle[42] = 43; sshuffle[43] = 68; sshuffle[44] = 26; sshuffle[45] = 8; sshuffle[46] = 87; sshuffle[47] = 13; sshuffle[48] = 149; sshuffle[49] = 130; sshuffle[50] = 83; sshuffle[51] = 78; sshuffle[52] = 86; sshuffle[53] = 137; sshuffle[54] = 143; sshuffle[55] = 101; sshuffle[56] = 148; sshuffle[57] = 63; sshuffle[58] = 94; sshuffle[59] = 76; sshuffle[60] = 140; sshuffle[61] = 55; sshuffle[62] = 21; sshuffle[63] = 120; sshuffle[64] = 10; sshuffle[65] = 84; sshuffle[66] = 38; sshuffle[67] = 29; sshuffle[68] = 144; sshuffle[69] = 40; sshuffle[70] = 60; sshuffle[71] = 50; sshuffle[72] = 24; sshuffle[73] = 88; sshuffle[74] = 114; sshuffle[75] = 91; sshuffle[76] = 116; sshuffle[77] = 70; sshuffle[78] = 12; sshuffle[79] = 6; sshuffle[80] = 93; sshuffle[81] = 147; sshuffle[82] = 141; sshuffle[83] = 28; sshuffle[84] = 136; sshuffle[85] = 110; sshuffle[86] = 27; sshuffle[87] = 4; sshuffle[88] = 66; sshuffle[89] = 67; sshuffle[90] = 79; sshuffle[91] = 138; sshuffle[92] = 51; sshuffle[93] = 56; sshuffle[94] = 117; sshuffle[95] = 74; sshuffle[96] = 125; sshuffle[97] = 69; sshuffle[98] = 142; sshuffle[99] = 82; sshuffle[100] = 132; sshuffle[101] = 0; sshuffle[102] = 106; sshuffle[103] = 16; sshuffle[104] = 97; sshuffle[105] = 85; sshuffle[106] = 104; sshuffle[107] = 100; sshuffle[108] = 49; sshuffle[109] = 135; sshuffle[110] = 42; sshuffle[111] = 73; sshuffle[112] = 71; sshuffle[113] = 1; sshuffle[114] = 81; sshuffle[115] = 118; sshuffle[116] = 15; sshuffle[117] = 2; sshuffle[118] = 30; sshuffle[119] = 107; sshuffle[120] = 31; sshuffle[121] = 103; sshuffle[122] = 52; sshuffle[123] = 7; sshuffle[124] = 139; sshuffle[125] = 98; sshuffle[126] = 22; sshuffle[127] = 25; sshuffle[128] = 45; sshuffle[129] = 17; sshuffle[130] = 53; sshuffle[131] = 109; sshuffle[132] = 121; sshuffle[133] = 122; sshuffle[134] = 90; sshuffle[135] = 19; sshuffle[136] = 72; sshuffle[137] = 46; sshuffle[138] = 80; sshuffle[139] = 23; sshuffle[140] = 57; sshuffle[141] = 61; sshuffle[142] = 128; sshuffle[143] = 44; sshuffle[144] = 111; sshuffle[145] = 108; sshuffle[146] = 3; sshuffle[147] = 48; sshuffle[148] = 64; sshuffle[149] = 62; int nextbit = 0; bool b1, b2, b3, b4, b5, b6, b7; bool c5, c6, c7; ll X = 0; ll nextXbit = 0; for (int i=0; i<15; i++) { // decode the hamming code each time b1 = (A[sshuffle[nextbit++]]==1); b2 = (A[sshuffle[nextbit++]]==1); b3 = (A[sshuffle[nextbit++]]==1); b4 = (A[sshuffle[nextbit++]]==1); b5 = (A[sshuffle[nextbit++]]==1); b6 = (A[sshuffle[nextbit++]]==1); b7 = (A[sshuffle[nextbit++]]==1); // start decoding c5 = b1^b2^b3^b5; c6 = b1^b3^b4^b6; c7 = b2^b3^b4^b7; if (c5 && c6 && c7) { b3 = !b3; } else if (c5 && c6 && (!c7)) { b1 = !b1; } else if (c5 && c7 && (!c6)) { b2 = !b2; } else if (c6 && c7 && (!c5)) { b4 = !b4; } // now that error correction was done, decode the bits. X |= b1*(1<<(nextXbit++)); X |= b2*(1<<(nextXbit++)); X |= b3*(1<<(nextXbit++)); X |= b4*(1<<(nextXbit++)); } return X; }
#Verdict Execution timeMemoryGrader output
Fetching results...