社区讨论

关于膜Siyuan

灌水区参与者 4已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@loibs3pd
此快照首次捕获于
2023/11/03 16:00
2 年前
此快照最后确认于
2023/11/03 18:52
2 年前
查看原帖
rt 在真理II总是与标答差1或者2
有无大佬知道哪里出问题了```
CPP
#include<iostream>
#include<math.h>
using namespace std;
long long sum;
double a[1000],b[1000],c[1000];
int op;
int x1,yy1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,ji1,ji2,ji3,ji4;
void dfs(int i){
}
int main(){
	cin>>x1>>yy1>>z1>>ji1>>x2>>y2>>z2>>ji2>>x3>>y3>>z3>>ji3>>x4>>y4>>z4>>ji4;
	for(int i=50;i<=100;i++){
		for(int j=50;j<=100;j++){
			for(int k=50;k<=100;k++){
				if(floor(sqrt((i-x1)*(i-x1)+(j-yy1)*(j-yy1)+(k-z1)*(k-z1)))==ji1)
				if(floor(sqrt((i-x2)*(i-x2)+(j-y2)*(j-y2)+(k-z2)*(k-z2)))==ji2)
				if(floor(sqrt((i-x3)*(i-x3)+(j-y3)*(j-y3)+(k-z3)*(k-z3)))==ji3)
				if(floor(sqrt((i-x4)*(i-x4)+(j-y4)*(j-y4)+(k-z4)*(k-z4)))==ji4)
				op++,a[op]=i,b[op]=j,c[op]=k;
			}
		}
	}
	int ans;
	double ij;
	long double wu;
	long double w1=20.0;
	for(int i=1;i<=op+1;i++){
	   wu=(sqrt((a[i]-x1)*(a[i]-x1)+(b[i]-yy1)*(b[i]-yy1)+(c[i]-z1)*(c[i]-z1))-ji1)+(sqrt((a[i]-x2)*(a[i]-x2)+(b[i]-y2)*(b[i]-y2)+(c[i]-z2)*(c[i]-z2))-ji2)+(sqrt((a[i]-x3)*(a[i]-x3)+(b[i]-y3)*(b[i]-y3)+(c[i]-z3)*(c[i]-z3))-ji3)+((sqrt((a[i]-x4)*(a[i]-x4)+(b[i]-y4)*(b[i]-y4)+(c[i]-z4)*(c[i]-z4)))-ji4);
	   if(wu<=w1) w1=wu,ans=i;
	}
	cout<<w1<<endl;
	cout<<a[ans]<<" "<<b[ans]<<" "<<c[ans];
}

CPP

回复

6 条回复,欢迎继续交流。

正在加载回复...