제출 #1178423

#제출 시각아이디문제언어결과실행 시간메모리
1178423guagua0407Comparing Plants (IOI20_plants)C++20
0 / 100
0 ms328 KiB
#include "plants.h" //#include "grader.cpp" #include <bits/stdc++.h> 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 _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); namespace{ vector<vector<bool>> big; } void init(int k, std::vector<int> r) { int n=(int)r.size(); vector<bool> used(n); big=vector<vector<bool>>(n,vector<bool>(n)); for(int t=0;t<n;t++){ int pos=-1; for(int i=0;i<n;i++){ if(used[i] or r[i]!=0) continue; bool tf=true; for(int j=i-k+1;j<i;j++){ int J=(j+n)%n; if(!used[J] and r[J]==0){ tf=false; break; } } if(tf){ pos=i; break; } } used[pos]=true; for(int j=pos-k+1;j<pos;j++){ int J=(j+n)%n; if(used[J]) continue; big[pos][J]=true; r[J]--; } } for(int k=0;k<n;k++){ for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(big[i][k]&big[k][j]) big[i][j]=true; } } } return; } int compare_plants(int x, int y) { if(big[x][y]) return 1; else if(big[y][x]) return -1; else return 0; }
#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...