当前位置:网站首页>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;
}
边栏推荐
猜你喜欢

Flutter learning three-Flutter basic structure and principle

Visibility of multi-column attribute column elements: display, visibility, opacity, vertical alignment: vertical-align, z-index The larger it is, the more it will be displayed on the upper layer

使用二维码解决固定资产管理的难题
虚证、实证如何鉴别?

结构光三维重建(一)条纹结构光三维重建

flink reads mongodb data source

WPF中DataContext作用

Dephi逆向工具Dede导出函数名MAP导入到IDA中

Flutter learning 5-integration-packaging-publish

About the installation of sklearn library
随机推荐
【学生毕业设计】基于web学生信息管理系统网站的设计与实现(13个页面)
软件管理rpm
MySQL基础(一)---基础认知及操作
Flutter学习三-Flutter基本结构和原理
How to identify false evidence and evidence?
Redis - 13、开发规范
dedecms织梦tag标签不支持大写字母修复
二叉树基本性质+oj题解析
RL强化学习总结(一)
【cesium】3D Tileset 模型加载并与模型树关联
The production method of the powered small sailboat is simple, the production method of the electric small sailboat
The first performance test practice, there are "100 million" a little nervous
LAB Semaphore Implementation Details
Shell(4) Conditional Control Statement
Cron(Crontab)--使用/教程/实例
How does the Flutter TapGestureRecognizer work
[SWPU2019]Web1
[BJDCTF2020] EasySearch
Mvi架构浅析
Excel画图