제출 #1277945

#제출 시각아이디문제언어결과실행 시간메모리
1277945cmiucUnscrambling a Messy Bug (IOI16_messy)C++20
20 / 100
2 ms580 KiB
#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 or n == 0){ 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'; } 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.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...