제출 #1265250

#제출 시각아이디문제언어결과실행 시간메모리
1265250silentloopUnscrambling a Messy Bug (IOI16_messy)C++20
20 / 100
7 ms328 KiB
#include <bits/stdc++.h> #define ll long long #define sz(x) int(x.size()) #define pb push_back #define se second #define fr first #define mp make_pair #define all(x) x.begin(), x.end() using namespace std; void add_element(string x); void compile_set(); bool check_element(string x); ll N; bool can(vector<int>p, vector<string>ap) { ll i, j, n=N; map<string,bool>check; string num=""; num.resize(n,'0'); for(i=0; i<n; i++) { num[i]='1'; string fin=num; for(j=0; j<n; j++) fin[j]=fin[p[j]]; check[fin]=1; } vector<string>v; num=""; num.resize(n,'0'); for(i=0; i<n; i++) { num[i]='1'; if(check[num]==0) v.pb(num); } return ap==v; } std::vector<int> restore_permutation(int n, int w, int r) { ll i, j; N=n; string num=""; num.resize(n,'0'); for(i=0; i<n; i++) { num[i]='1'; add_element(num); } compile_set(); ll cant=0; vector<string>v; num=""; num.resize(n,'0'); for(i=0; i<n; i++) { num[i]='1'; if(check_element(num)==0) v.pb(num); } vector<int>ans; for(i=0; i<n; i++) ans.pb(i); if(sz(v)==0) return ans; for(i=0; i<n; i++) { for(j=i+1; j<n; j++) { swap(ans[i],ans[j]); if(can(ans,v)) return ans; swap(ans[i],ans[j]); } } 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...