제출 #1321381

#제출 시각아이디문제언어결과실행 시간메모리
1321381eri16Painting Squares (IOI20_squares)C++20
0 / 100
34 ms428 KiB
#include<bits/stdc++.h> #include "squares.h" using namespace std; vector<int> paint(int n){ if (n<=16){ vector<int> ans(n+1,0); ans[n]=n; return ans; } vector<int> v,vv; for (int bit=0; bit<67 && v.size()!=n; bit++){ vv.clear(); for (int i=0; i<7; i++){ int tr = (bit >> i) & 1; vv.push_back(tr); } for (int j=6; j>=0 && v.size()!=n; j--){v.push_back(vv[j]);} for (int j=8; j>=0 && v.size()!=n; j--){v.push_back(1);} } v.push_back(16); return v; } int find_location(int n, vector<int> vx){ if (n<=16){ int ans=0; for (auto x : vx){if (x==-1){ans++;}} return ans+n-16; } int x=n-16; for (int i=n-1; i>=0; i--){ if (vx[i]==-1){ x++; } } if (x>n-16){return x;} vector<int> v,vv; for (int bit=0; bit<67 && v.size()!=n; bit++){ vv.clear(); for (int i=0; i<7; i++){ int tr = (bit >> i) & 1; vv.push_back(tr); } for (int j=6; j>=0 && v.size()!=n; j--){v.push_back(vv[j]);} for (int j=8; j>=0 && v.size()!=n; j--){v.push_back(1);} } for (int i=0; i<n-15; i++){ vv.clear(); for (int j=i; j<i+16; j++){ vv.push_back(v[j]); } if (vv==vx){return i;} } return -1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...