| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1343816 | hyyh | Island Hopping (JOI24_island) | C++20 | 3 ms | 400 KiB |
#include "island.h"
#include <vector>
#include <set>
using namespace std;
void solve(int N, int L) {
vector<vector<bool>> adj(N+1,vector<bool>(N+1));
vector<bool> complete(N+1);
vector<int> ask(N+1);
auto connect = [&](int a,int b){
adj[a][b] = 1;
adj[b][a] = 1;
};
auto process = [&](int n){
if(complete[n]) return;
int i = 1;
vector<int> far(N);
while(true){
int ret = query(n,i++);
if(far[ret]){
complete[n] = 1;
break;
}
connect(ret,n);
int back = query(ret,ask[ret]+1);
if(back != n) far[back] = 1,ask[ret]++,connect(back,ret);
else complete[ret] = 1;
}
};
for(int i{N};i >= 1;i--) process(i);
for(int i{1};i <= N;i++){
for(int j{1};j <= N;j++){
if(i < j && adj[i][j]) answer(i,j);
}
}
}| # | 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... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
