#include <iostream>
#include <vector>
#include "messy.h"
using namespace std;
vector<int> Ans, vc;
void Write(int n, int l, int r, string s){
if (n == 0)
return;
for (int i=l;i<l + n;i++){
s[i] = '1';
add_element(s);
s[i] = '0';
}
string s1 = s, s2 = s;
for (int i=l;i<l + n;i++){
s1[i + n] = '1';
s2[i] = '1';
}
Write(n / 2, l, l + n, s1);
Write(n / 2, l + n, r, s2);
}
void Read(int n, int l, int r, string s, vector<int> pos){
if (n == 1){
Ans[l] = pos[0];
return;
}
vector<int> v1, v2;
string s1 = s, s2 = s;
for (int i=0;i<n;i++){
s[pos[i]] = '1';
if (check_element(s))
v1.push_back(pos[i]);
else
v2.push_back(pos[i]);
s[pos[i]] = '0';
}
if (v1.size() != s2.size())
cout<<1 / 0;
for (int i : v1)
s2[i] = '1';
for (int i : v2)
s1[i] = '1';
n /= 2;
Read(n, l, l + n, s1, v1);
Read(n, l + n, r, s2, v2);
}
vector<int> restore_permutation(int n, int w, int r){
Ans.resize(n);
string s;
for (int i=0;i<n;i++)
vc.push_back(i), s += '0';
Write(n / 2, 0, n, s);
compile_set();
Read(n, 0, n, s, vc);
return Ans;
}
컴파일 시 표준 에러 (stderr) 메시지
messy.cpp: In function 'void Read(int, int, int, std::string, std::vector<int>)':
messy.cpp:43:25: warning: division by zero [-Wdiv-by-zero]
43 | cout<<1 / 0;
| ~~^~~
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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |