#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |