Codeforces 851C . Five Dimensional Points 计算几何,结论
来源:互联网 发布:倚天象棋软件 编辑:程序博客网 时间:2024/06/11 01:59
题意
给定n(1000)个5维空间的点,定义坏点a为存在两个不同的点b,c使得ab与ac向量夹角为锐角.定义好点为不是坏点的点.求好点的个数与他们的下标.
解法
任意三个点组成一个三角形,其中必有两个或以上的锐角.所以当n>2时好点的个数不会超过1.当n<=2时好点个数为n.
考虑2维平面的情况,一个点是好点则它周围最多有4个点(上下左右),大于5个点的情况不可能存在好点.
扩展到五维空间,只有11个点以内才可能存在最多1个好点.枚举即可.
代码
/* LittleFall : Hello! */#include <bits/stdc++.h>using namespace std;int save[1010][5];int main(void){ int n; scanf("%d", &n); for(int i = 0; i < n; i++) for(int j = 0; j < 5; j++) scanf("%d", &save[i][j]); if(n > 11) { printf("0\n"); return 0; } if(n <= 2) { printf("%d\n", n ); printf("%s\n", n == 2 ? "1\n2\n" : "1\n" ); return 0; } int goodidx = -1; for(int i = 0; i < n; i++) { int flag = 1; for(int j = 0; j < n; j++) { if(j == i) continue; for(int k = j + 1; k < n; k++) { if(i == k) continue; //检测ij和ik是否成锐角 int pp = 0; for(int x = 0; x < 5; x++) pp += (save[j][x] - save[i][x]) * (save[k][x] - save[i][x]); if(pp > 0) flag = 0; } if(flag == 0) break; } if(flag) goodidx = i; if(goodidx != -1) { printf("1\n%d\n", goodidx + 1); return 0; } } printf("0\n"); return 0;}
阅读全文
0 0
- Codeforces 851C . Five Dimensional Points 计算几何,结论
- codeforces 851C C. Five Dimensional Points
- Five Dimensional Points CodeForces
- codeforces 851C Five Dimensional Points 鸽巢定理
- codeforces 851 #432 div2 C Five Dimensional Points
- Codeforces 851 C Five Dimensional Points(数学概念优化)
- codeforces 851 C (Div#432) Five Dimensional Points
- Codeforces Round #432 C. Five Dimensional Points
- Codeforces Round #432 (Div. 2) C Five Dimensional Points
- - Five Dimensional Points(暴力)
- Codeforces Round #432 (Div. 2) C 850A Five Dimensional Points(思维)
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)C. Five Dimensional Points
- Codeforces Round #432 Div. 2 C. Five Dimensional Points(数学)
- Codeforces 850 A. Five Dimensional Points(暴力/抽屉定理)
- Codeforces Round #432 (Div. 1) A.Five Dimensional Points
- codeforces851C. Five Dimensional Points(暴力/思维)
- CodeForces 24C Sequence of points (几何)
- Codeforces 851B. Arpa and an exam about geometry 计算几何,结论题
- Sublime编辑软件常用快捷键
- 转发和重定向的区别
- bzoj 1857 [SCOI2010]传送带【三分套三分】
- 将爬取的数据存储为json文件
- 分布式一致性原理与实践(一)
- Codeforces 851C . Five Dimensional Points 计算几何,结论
- #线性回归推荐#根据极大似然和样本分布情况 推导线性回归
- 动态数组,自定义组数大小
- HDU1395 ZOJ1489 2^x mod n = 1【暴力法+数论】
- python 接收用户的输入
- mysql升级
- python turtle库常用方法
- POJ 3126 Prime Path
- ffmpeg解码aac并重采样