QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#859891#9678. 网友小 Z 的树tebiezhichuCompile Error//C++143.0kb2025-01-18 07:59:052025-01-18 07:59:06

Judging History

你现在查看的是最新测评结果

  • [2025-01-18 07:59:06]
  • 评测
  • [2025-01-18 07:59:05]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int yi[10][10]={
{2,2,-1,-1,2,-1,-1,-1,-1,2},
{2,-1,2,-1,-1,2,-1,-1,2,-1},
{2,-1,-1,2,-1,-1,2,2,-1,-1},
{-1,2,2,-1,-1,-1,2,2,-1,-1},
{-1,2,-1,2,-1,2,-1,-1,2,-1},
{-1,-1,2,2,2,-1,-1,-1,-1,2},
{-1,-1,-1,2,2,2,-1,2,-1,-1},
{-1,-1,2,-1,2,-1,2,-1,2,-1},
{-1,2,-1,-1,-1,2,2,-1,-1,2},
{2,-1,-1,-1,-1,-1,-1,2,2,2},
};
int vis[5],dian[10],x[10],y[10],mu,zhi1,zhi2,op,mx;
void inits(){
	y[1]=query(dian[1],dian[2],dian[4]);
	y[2]=query(dian[1],dian[2],dian[5]);
	y[3]=query(dian[1],dian[3],dian[4]);
	y[4]=query(dian[1],dian[3],dian[5]);
	y[5]=query(dian[1],dian[4],dian[5]);
	y[6]=query(dian[2],dian[3],dian[4]);
	y[7]=query(dian[2],dian[3],dian[5]);
	y[8]=query(dian[2],dian[4],dian[5]);
	y[9]=query(dian[3],dian[4],dian[5]);
	if(op){
		y[0]=3*x[0]-y[1]-y[2]-y[9]+(y[3]+y[4]+y[5]+y[6]+y[7]+y[8])/2;
	}
	else{
		y[0]=query(dian[1],dian[2],dian[3]);
	}
	return;
}
void xiao(){
	for(int i=0;i<=9;i++){
		x[i]=0;
		for(int j=0;j<=9;j++){
			x[i]=x[i]+yi[j][i]*y[j];
		}
		x[i]/=6;
	}
	return;
}
void get(){
	mx=0;
	if(x[0]>mx){
		mx=x[0];
		zhi1=dian[1];
		zhi2=dian[2];
	}
	if(x[1]>mx){
		mx=x[1];
		zhi1=dian[1];
		zhi2=dian[3];
	}
	if(x[2]>mx){
		mx=x[2];
		zhi1=dian[1];
		zhi2=dian[4];
	}
	if(x[3]>mx){
		mx=x[3];
		zhi1=dian[1];
		zhi2=dian[5];
	}
	if(x[4]>mx){
		mx=x[4];
		zhi1=dian[2];
		zhi2=dian[3];
	}
	if(x[5]>mx){
		mx=x[5];
		zhi1=dian[2];
		zhi2=dian[4];
	}
	if(x[6]>mx){
		mx=x[6];
		zhi1=dian[2];
		zhi2=dian[5];
	}
	if(x[7]>mx){
		mx=x[7];
		zhi1=dian[3];
		zhi2=dian[4];
	}
	if(x[8]>mx){
		mx=x[8];
		zhi1=dian[3];
		zhi2=dian[5];
	}
	if(x[9]>mx){
		mx=x[9];
		zhi1=dian[4];
		zhi2=dian[5];
	}
	return;
}
std::pair<int, int> find_diameter(int subid,int n){
	if(n==2){
		return {1,2};
	}
	if(n==3){
		if(in(1,2,3)){
			return {2,3};
		}
		else if(in(2,1,3)){
			return {1,3};
		}
		else{
			return {1,2};
		}
	}
	if(n==4){
		vis[1]=1;
		vis[2]=1;
		vis[3]=1;
		vis[4]=1;
		if(query(1,2,3)==6){
			vis[4]=0;
		}
		if(query(1,2,4)==6){
			vis[3]=0;
		}
		if(query(1,3,4)==6){
			vis[2]=0;
		}
		if(query(2,3,4)==6){
			vis[1]=0;
		}
		if(vis[1]&&vis[2]){
			return {1,2};
		}
		if(vis[1]&&vis[3]){
			return {1,3};
		}
		if(vis[1]&&vis[4]){
			return {1,4};
		}
		if(vis[2]&&vis[3]){
			return {2,3};
		}
		if(vis[2]&&vis[4]){
			return {2,4};
		}
		if(vis[3]&&vis[4]){
			return {3,4};
		}
	}
	mu=5;
	dian[1]=1;
	dian[2]=2;
	dian[3]=3;
	dian[4]=4;
	dian[5]=5;
	op=0;
	inits();
	xiao();
	get();
	op=1;
	while(mu<n){
		mu+=3;
		dian[1]=zhi1;
		dian[2]=zhi2;
		x[0]=mx;
		dian[3]=mu-2;
		dian[4]=mu-1;
		dian[5]=mu;
		while(dian[5]>n||dian[5]==dian[1]||dian[5]==dian[2]||dian[5]==dian[3]||dian[5]==dian[4]){
			dian[5]=rand()*998244353ll%n+1;
		}
		while(dian[4]>n||dian[4]==dian[1]||dian[4]==dian[2]||dian[4]==dian[3]||dian[4]==dian[5]){
			dian[4]=rand()*998244353ll%n+1;
		}
		inits();
		xiao();
		get();
	}
	return {zhi1,zhi2};
}

详细

answer.code: In function ‘void inits()’:
answer.code:17:14: error: ‘query’ was not declared in this scope
   17 |         y[1]=query(dian[1],dian[2],dian[4]);
      |              ^~~~~
answer.code: In function ‘std::pair<int, int> find_diameter(int, int)’:
answer.code:103:20: error: ‘in’ was not declared in this scope; did you mean ‘n’?
  103 |                 if(in(1,2,3)){
      |                    ^~
      |                    n
answer.code:118:20: error: ‘query’ was not declared in this scope
  118 |                 if(query(1,2,3)==6){
      |                    ^~~~~
answer.code:121:20: error: ‘query’ was not declared in this scope
  121 |                 if(query(1,2,4)==6){
      |                    ^~~~~
answer.code:124:20: error: ‘query’ was not declared in this scope
  124 |                 if(query(1,3,4)==6){
      |                    ^~~~~
answer.code:127:20: error: ‘query’ was not declared in this scope
  127 |                 if(query(2,3,4)==6){
      |                    ^~~~~