| 比赛 |
2026.4.11 |
评测结果 |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |
| 题目名称 |
图 |
最终得分 |
100 |
| 用户昵称 |
梦那边的美好ME |
运行时间 |
2.505 s |
| 代码语言 |
C++ |
内存使用 |
7.05 MiB |
| 提交时间 |
2026-04-11 11:28:25 |
显示代码纯文本
#include "gra.h"
#include<bits/stdc++.h>
using namespace std;
int nm[1100],cnt,c[1100];
vector <pair <int,int> > g1,g2;
void tree(int n){
nm[++cnt]=1;
for (int i=2;i<=n;i++){
nm[++cnt]=i;
c[cnt]=query(nm[cnt-1],nm[cnt]);
while (cnt>=3&&c[cnt]!=c[cnt-1]){
if (c[cnt]==1) g1.push_back({nm[cnt],nm[cnt-1]});
else g2.push_back({nm[cnt],nm[cnt-1]});
if (c[cnt-1]==1) g1.push_back({nm[cnt-1],nm[cnt-2]});
else g2.push_back({nm[cnt-1],nm[cnt-2]});
cnt--;
nm[cnt]=nm[cnt+1];
c[cnt]=query(nm[cnt-1],nm[cnt]);
}
}
if (c[2]==1){
for (int i=0;i<g1.size();i++){
report(g1[i].first,g1[i].second);
}
}else{
for (int i=0;i<g2.size();i++){
report(g2[i].first,g2[i].second);
}
}
for (int i=2;i<=cnt;i++){
report(nm[i-1],nm[i]);
}
return;
}