제출 #1222005

#제출 시각아이디문제언어결과실행 시간메모리
1222005LeonidCukUnscrambling a Messy Bug (IOI16_messy)C++20
0 / 100
1 ms584 KiB
#include <bits/stdc++.h>
#include "messy.h"
using namespace std;
vector<int>res;
void dvqa(int l,int r,string &s)
{
    if(l==r)return;
    int m=(l+r)/2;
    for(int i=l;i<=m;i++)
    {
        s[i]='1';
        add_element(s);
        s[i]='0';
    }
    for(int i=l;i<=m;i++)s[i]='1';
    dvqa(m+1,r,s);
    for(int i=l;i<=m;i++)s[i]='0';
    for(int i=m+1;i<=r;i++)s[i]='1';
    dvqa(l,m,s);
    for(int i=m+1;i<=r;i++)s[i]='0';
}
void dvqc(int l,int r,string &s)
{
    if(l==r)
    {
        for(int i=0;i<s.size();i++)
        {
            if(s[i]=='0')res[i]=l;
        }
        return;
    }
    vector<int>kec,nuli;
    int m=(l+r)/2;
    for(int i=l;i<=r;i++)
    {
        s[i]='1';
        if(check_element(s))kec.push_back(i);
        else nuli.push_back(i);
        s[i]='0';
    }
    for(auto i:kec)s[i]='1';
    dvqc(m+1,r,s);
    for(auto i:kec)s[i]='0';
    for(auto i:nuli)s[i]='1';
    dvqc(l,m,s);
    for(auto i:nuli)s[i]='0';

}
vector<int> restore_permutation(int n, int w, int r)
{
    res.resize(n);
    string s;
    for(int i=0;i<n;i++)s.push_back('0');
    dvqa(0,n-1,s);
    compile_set();
    dvqc(0,n-1,s);
    vector<int>ans=res;
    return ans;
}

컴파일 시 표준 에러 (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...