제출 #709261

#제출 시각아이디문제언어결과실행 시간메모리
709261ssenseUnscrambling a Messy Bug (IOI16_messy)C++14
0 / 100
1 ms212 KiB
#include <bits/stdc++.h>
#include "messy.h"
#define startt ios_base::sync_with_stdio(false);cin.tie(0);
typedef long long  ll;
using namespace std;
#define vint vector<int>

int ng;

string convert(int x)
{
    string now;
    for(int i = 0; i < ng; i++)
    {
        now[i]+='0';
    }
    for(int i = 0; i < ng; i++)
    {
        if((x&(1<<i)) > 0)
        {
            now[i]++;
        }
    }
    return now;
}

vector<int> restore_permutation(int n, int w, int r)
{
    ng = n;
    string now;
    for(int i = 0; i < n; i++)
    {
        now[i]+='0';
    }
    for(int i = 0; i < n; i++)
    {
        now[i]++;
        add_element(now);
    }
    compile_set();
    vector<vint> bits(n+1);
    for(int i = 1; i < 1<<n; i++)
    {
        bits[__builtin_popcount(i)].push_back(i);
    }
    vint ans(n);
    int already = 0;
    for(int i = 1; i <= n; i++)
    {
        for(auto x : bits[i])
        {
            if(check_element(convert(x)))
            {
                int acc = x-already;
                ans[i-1] = 31-__builtin_clz(acc);
                already = x;
                break;
            }
        }
    }
    return ans;
}
/*
int32_t main(){
    startt
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
}


*/
#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...