CCPC网络赛 HDU5839 Special Tetrahedron
题意:n个点,选四个出来组成四面体,要符合四面体至少四条边相等,若四条边相等则剩下两条边不相邻,求个数
思路:枚举四面体上一条线,再找到该线两个端点相等的点,放在一个集合里面。
要符合条件的话,则该集合里面找两个点,并且要判断一下。
注意,普通四面体会被重复计算两次,正四面体会重复计算六次 #include <bits/stdc++.h>
using namespace std;
#define LL long long
const double inf = 123456789012345.0;
const LL MOD =100000000LL;
const int N =;
#define clc(a,b) memset(a,b,sizeof(a))
const double eps = 1e-;
void fre() {freopen("in.txt","r",stdin);}
void freout() {freopen("out.txt","w",stdout);}
inline int read() {int x=,f=;char ch=getchar();while(ch>''||ch<'') {if(ch=='-') f=-; ch=getchar();}while(ch>=''&&ch<='') {x=x*+ch-'';ch=getchar();}return x*f;} struct Point {
double x,y,z;
Point() {}
Point(LL _x,LL _y,LL _z):x(_x),y(_y),z(_z) {}
Point operator + (const Point &t) const {
return Point(x+t.x,y+t.y,z+t.z);
}
Point operator -(const Point &t) const {
return Point(x-t.x,y-t.y,z-t.z);
}
Point operator *(const Point &t) const {
return Point(y*t.z-z*t.y,z*t.x-x*t.z,x*t.y-y*t.x);
}
double operator ^(const Point &t) const {
return x*t.x+y*t.y+z*t.z;
}
double len2(){
return x*x+y*y+z*z;
}
} p[N]; bool check(Point a,Point b,Point c,Point d) {
return (((a-b)*(a-c))^(a-d))==0.0;
} int l[];
int main() {
int T;
scanf("%d",&T);
for(int cas=; cas<=T; cas++) {
int n,cnt;
int ans=,tem=;
scanf("%d",&n);
for(int i=; i<=n; i++) scanf("%lf%lf%lf",&p[i].x,&p[i].y,&p[i].z);
for(int i=; i<n; i++) {
for(int j=i+; j<=n; j++) {
cnt=;
for(int k=; k<=n; k++) {
if(k==i||k==j) continue;
Point p1,p2;
p1=p[k]-p[i];
p2=p[k]-p[j];
if(p1.len2()==p2.len2()) {
l[cnt++]=k;
}
}
for(int k=; k<cnt-; k++) {
for(int h=k+; h<cnt; h++) {
Point p1=p[l[h]]-p[i],p2=p[l[k]]-p[i];
if(p1.len2()!=p2.len2()) continue;
if(check(p[i],p[j],p[l[k]],p[l[h]])) continue;
ans++;
Point p3=p[l[k]]-p[l[h]];
Point p4=p[i]-p[j];
if(p1.len2()==p3.len2()&&p4.len2()==p3.len2())
tem++;
}
}
}
}
ans/=;
ans=ans-*tem/;
printf("Case #%d: ",cas);
printf("%d\n",ans);
}
return ;
}

(四面体)CCPC网络赛 HDU5839 Special Tetrahedron的更多相关文章

  1. 树形DP CCPC网络赛 HDU5834 Magic boy Bi Luo with his excited tree

    // 树形DP CCPC网络赛 HDU5834 Magic boy Bi Luo with his excited tree // 题意:n个点的树,每个节点有权值为正,只能用一次,每条边有负权,可以 ...

  2. 2018 CCPC网络赛

    2018 CCPC网络赛 Buy and Resell 题目描述:有一种物品,在\(n\)个地点的价格为\(a_i\),现在一次经过这\(n\)个地点,在每个地点可以买一个这样的物品,也可以卖出一个物 ...

  3. ccpc 网络赛 hdu 6155

    # ccpc 网络赛 hdu 6155(矩阵乘法 + 线段树) 题意: 给出 01 串,要么询问某个区间内不同的 01 子序列数量,要么把区间翻转. 叉姐的题解: 先考虑怎么算 \(s_1, s_2, ...

  4. 2018年 CCPC 网络赛 赛后总结

    历程:由于只是网络赛,所以今天就三开了.一开始的看题我看了d题,zz和jsw从头尾看起来,发现c题似乎可做,和费马大定理有关,于是和zz一起马上找如何计算勾股数的方法,比较慢的A掉了,而jsw此时看了 ...

  5. 2019杭电多校&CCPC网络赛&大一总结

    多校结束了, 网络赛结束了.发现自己还是太菜了,多校基本就是爆零和签到徘徊,第一次打这种高强度的比赛, 全英文,知识点又很广,充分暴露了自己菜的事实,发现数学还是很重要的.还是要多刷题,少玩游戏. 网 ...

  6. hdu 6152 : Friend-Graph (2017 CCPC网络赛 1003)

    题目链接 裸的结论题.百度 Ramsey定理.刚学过之后以为在哪也不会用到23333333333,没想到今天网络赛居然出了.顺利在题面更改前A掉~~~(我觉得要不是我开机慢+编译慢+中间暂时死机,我还 ...

  7. 【2018 CCPC网络赛 1004】Find Integer(勾股数+费马大定理)

    Problem Description people in USSS love math very much, and there is a famous math problem . give yo ...

  8. hdu 5833 Zhu and 772002 ccpc网络赛 高斯消元法

    传送门:hdu 5833 Zhu and 772002 题意:给n个数,每个数的素数因子不大于2000,让你从其中选则大于等于1个数相乘之后的结果为完全平方数 思路: 小于等于2000的素数一共也只有 ...

  9. CCPC网络赛,HDU_5842 Lweb and String

    Problem Description Lweb has a string $S$. Oneday, he decided to transform this string to a new sequ ...

随机推荐

  1. 10 harsh truths that will help you grow

    10 harsh truths that will help you grow帮你成长的10个残酷事实In the game of life, if it often seems like you’r ...

  2. mysql外键级联更新删除

    MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作 ...

  3. 本人arcgis api for javascript中常见错误总结

    1. 2.对象不支持"replace"属性或方法 解决办法:一般在ie中执行js会报这样的错误,基本问题就是你引用了某个对象中不存在的方法,可能是这个方法本来存在而你写错了,或者调 ...

  4. 基于Spring设计并实现RESTful Web Services(转)

    基于Spring设计并实现RESTful Web Services 在本教程中,你将会使用Spring来创建一个具有生产力的RESTful网络服务. 为什么用RESTful网络服务? 从和Amazon ...

  5. 在Ubuntu下安装imx6linux系统的交叉编译环境遇到的问题总结

    这段时间一直忙于手上的嵌入式项目,可以说自己从嵌入式的菜鸟一点点的入门了,关于嵌入式和imx6核心板的开发有了一点的了解,尤其是对于板子环境的搭建.硬件的开发,搭建环境,是一个很大的工程量,也是很重要 ...

  6. apk反编译(6)ProGuard 工具 android studio版官方教程[作用,配置,解混淆,优化示例]

    ProGuard In this document Enabling ProGuard (Gradle Builds) Configuring ProGuard Examples Decoding O ...

  7. linux文件和目录基本操作

    比较特殊的目录: .   代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 -代表当前用户身份所在的主文件夹 -account 代表account用户所在主文件夹 1.目录相关操作 cd切换 ...

  8. UVa 11174 (乘法逆元) Stand in a Line

    题意: 有n个人排队,要求每个人不能排在自己父亲的前面(如果有的话),求所有的排队方案数模1e9+7的值. 分析: <训练指南>上分析得挺清楚的,把公式贴一下吧: 设f(i)为以i为根节点 ...

  9. 待实践二:MVC3下的3种验证 (1)前台 jquery validate验证 (2)MVC实体验证 (3)EF生成的/自己手写的 自定义实体校验(伙伴类+元素据共享)

    MVC3下的3种验证 (1):前台Jquery Validate脚本验证 引入脚本 <script src="../js/jquery.js" type="text ...

  10. busybox filesystem matrix-gui-2.0 undefined function json_encode()

    /******************************************************************************** * matrix-gui-2.0 u ...