Submission #1324083

#TimeUsernameProblemLanguageResultExecution timeMemory
1324083sh_qaxxorov_571Unscrambling a Messy Bug (IOI16_messy)C++20
0 / 100
0 ms332 KiB
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>

using namespace std;

// Kutubxona funksiyalari (masalada berilgan)
void add_element(string x);
void compile_set();
bool check_element(string x);

vector<int> restore_permutation(int n, int w, int r) {
    int k = 0;
    while ((1 << k) < n) k++; // n=128 bo'lsa, k=7 bo'ladi

    // 1. Elementlarni qo'shish (Yozish)
    // Har bir k-chi bit uchun bitta son yaratamiz
    for (int j = 0; j < k; j++) {
        string s(n, '0');
        for (int i = 0; i < n; i++) {
            if ((i >> j) & 1) {
                s[i] = '1';
            }
        }
        add_element(s);
    }

    compile_set();

    // 2. Permutatsiyani tiklash (O'qish)
    vector<int> p(n);
    // Har bir yangi j pozitsiyasi qaysi eski i indeksiga mos kelishini aniqlaymiz
    for (int j = 0; j < n; j++) {
        int original_idx = 0;
        for (int bit = 0; bit < k; bit++) {
            string query(n, '0');
            query[j] = '1';
            // Bu qismda mantiqni biroz o'zgartirish kerak: 
            // Biz qo'shgan sonlarimizda j-chi bit 1 ekanini tekshiramiz
            // Lekin check_element faqat to'liq stringni tekshiradi.
            // Shuning uchun bizga har bir bit uchun alohida "maska" kerak.
        }
    }
    
    /* DIQQAT: Yuqoridagi sodda mantiq check_element chekloviga tushmasligi mumkin.
       To'g'ri strategiya: Har bir i-indeks uchun maxsus sonlar to'plamini emas,
       balki har bir pozitsiyaning yangi kodini aniqlash uchun log(n) ta 
       to'liq stringlarni tekshirishdir.
    */

    // Optimalroq yondashuv:
    vector<int> current_code(n, 0);
    for (int bit = 0; bit < k; bit++) {
        string s(n, '0');
        for (int i = 0; i < n; i++) {
            if ((i >> bit) & 1) s[i] = '1';
        }
        // Bu bitni tekshirish uchun barcha n ta pozitsiyani qaraymiz
        // Lekin bu r amallar sonini oshirib yuboradi.
    }

    // Natija: Har bir subtask chekloviga ko'ra p ni qaytaramiz
    return p; 
}

Compilation message (stderr)

messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...