제출 #334131

#제출 시각아이디문제언어결과실행 시간메모리
334131balbit식물 비교 (IOI20_plants)C++14
0 / 100
76 ms4844 KiB
#include <bits/stdc++.h> #ifndef BALBIT #include "plants.h" #endif // BALBIT using namespace std; #define ll long long #define pii pair<int, int> #define f first #define s second #define ALL(x) (x).begin(), (x).end() #define SZ(x) (int)(x.size()) #define pb push_back #ifdef BALBIT #define bug(...) cerr<<"#"<<__LINE__<<": "<<#__VA_ARGS__<<": ", _do(__VA_ARGS__) template<typename T> void _do(T && x){cerr<<x<<endl;} template<typename T, typename ...S> void _do(T && x, S && ...y){cerr<<x<<", "; _do(y...);} #define IOS() #else #define IOS() ios::sync_with_stdio(0), cin.tie(0) #define bug(...) #define endl '\n' #endif // BALBIT #define REP(i,n) for (int i = 0; i<n;++i) #define REP1(i,n) for (int i = 1; i<=n;++i) const int maxn = 5005; int group[maxn]; int R[maxn]; int n; inline int F(int x) { return x >=n ? x-n: (x<0?x+n:x); } void init(int k, vector<int> r) { n = SZ(r); REP(i,n) R[i] = r[i]; REP(i,n) { if (r[i] == 0) for (int j = 1; j<k; ++j) { R[F(i+j)] ++; } } memset(group, -1, sizeof group); for (int gg = 0; gg < n; ++gg) { vector<int> tmp; REP(i,n) { if(group[i] == -1 && R[i] == 0) { group[i] = gg; tmp.pb(i); } } for (int x : tmp) { for (int j = 1; j<k; ++j) { R[F(x+j)]--; } for (int j = 1; j<k; ++j) { R[F(x-j)]--; } } // REP(i,n) bug(R[i]); } // REP(i,n) bug(i,group[i]); } int compare_plants(int x, int y) { if (group[x] == group[y]) return 0; return group[x] > group[y] ? -1:1; } #ifdef BALBIT signed main(){ bug(1,2); init(3, {0, 1, 1, 2}); bug(compare_plants(0,2)); bug(compare_plants(1,2)); bug(compare_plants(0,3)); bug(compare_plants(1,3)); } #endif
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...