当前位置:网站首页>uva1325
uva1325
2022-08-05 05:03:00 【Knife stabs the bear】
#include <iostream>
#include <istream>
#include <sstream>
#include <vector>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <cstring>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <numeric>
#include <chrono>
#include <ctime>
#include <cmath>
#include <cctype>
#include <string>
#include <cstdio>
#include <iomanip>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <functional>
#include <iterator>
using namespace std;
const int maxn = 1e6 + 7,maxm = 1007;
struct Node {
double len;
int first, second;
bool operator<(const Node& input) {
return len < input.len;
}
}node[maxn];
double x[maxm], y[maxm], z[maxm];
int p[maxm],n,sum[maxm],sum2[maxm];
#define _POW(x) (x) * (x)
//求距离
double GetLen(int a, int b) {
return sqrt(_POW(x[a] - x[b]) + _POW(y[a] - y[b]) + _POW(z[a] - z[b]));
}
//an unstable planet
bool IsInstable(int index) {
//1的个数 与0的个数
int f0 = sum[index] - sum2[index], f1 = sum2[index];
return p[index] ? f1 < f0 : f0 < f1;
}
int main()
{
while (cin >> n) {
int cnt = 0;
for (int i = 0; i < n; i++) {
cin >> x[i] >> y[i] >> z[i] >> p[i];
sum[i] = 1;
sum2[i] = p[i];
for (int j = 0; j < i; j++) {
node[cnt].first = i;
node[cnt].second = j;
node[cnt].len = GetLen(i, j);
cnt++;
}
}
sort(node, node + cnt);
int c = 0,ans = 0;
double r = 0;
for (int i = 0; i < cnt; i++) {
int first = node[i].first;
int second = node[i].second;
//first second Is it unstable
bool f0 = IsInstable(first);
bool s0 = IsInstable(second);
//总次数
sum[first]++;sum[second]++;
//1的次数
sum2[first] += p[second];
sum2[second] += p[first];
bool f1 = IsInstable(first);
bool s1 = IsInstable(second);
//first second 发生变化了
if (f0 != f1) {
if (f1)c++;
else c--;
}
if (s0 != s1) {
if (s1)c++;
else c--;
}
if (i == cnt - 1 || node[i].len != node[i + 1].len) {
if (c > ans) {
ans = c;
r = node[i].len;
}
}
}
cout << ans << endl;
cout << fixed << setprecision(4) << r << endl;
}
return 0;
}
边栏推荐
猜你喜欢
特征预处理
dedecms后台生成提示读取频道信息失败的解决方法
Homework 8.4 Interprocess Communication Pipes and Signals
how to measure distance from point to face in creo
【cesium】Load and locate 3D Tileset
Dephi reverse tool Dede exports function name MAP and imports it into IDA
[cesium] 3D Tileset model is loaded and associated with the model tree
结构光三维重建(二)线结构光三维重建
[cesium] element highlighting
小程序_动态设置tabBar主题皮肤
随机推荐
No regrets, the appium automation environment is perfectly built
mutillidae download and installation
u-boot debugging and positioning means
Detailed explanation of Mysql's undo log
【cesium】3D Tileset 模型加载并与模型树关联
结构光三维重建(二)线结构光三维重建
Why did you start preparing for the soft exam just after the PMP exam?
[Geek Challenge 2019]FinalSQL
Flutter真机运行及模拟器运行
特征预处理
【软考 系统架构设计师】软件架构设计③ 特定领域软件架构(DSSA)
software management rpm
为什么刚考完PMP,就开始准备软考了?
How to quickly upgrade your Taobao account to a higher level
软件管理rpm
dedecms error The each() function is deprecated
human weakness
[Surveying] Quick Summary - Excerpt from Gaoshu Gang
二叉树基本性质+oj题解析
Dephi reverse tool Dede exports function name MAP and imports it into IDA