HDU 5206
来源:互联网 发布:淘宝 新增网站推广 编辑:程序博客网 时间:2024/06/04 01:03
恩。。。数学题。。。差点就不会了。。。
第一个点为参照,找到另外两个点,构成两条向量,垂直,模相等,然后对于剩下的那个点,看是否能和两个点构成垂直的两条向量。。
其实我是做的好烦躁,所以过来刷水题的。。恩。。
#include <stdio.h>#include <stdlib.h>int x[5],y[5],z[5];int dis(int i,int j,int k){ // printf("%d %d %d %d %d %d %d %d %d\n",x[i]-x[k],(x[i]-x[j]), (x[i]-x[k])*(x[i]-x[j]),y[i]-y[k],y[i]-y[j],(y[i]-y[k])*(y[i]-y[j]),z[i]-z[k],z[i]-z[j],(z[i]-z[k])*(z[i]-z[j])); return (x[i]-x[k])*(x[i]-x[j])+(y[i]-y[k])*(y[i]-y[j])+(z[i]-z[k])*(z[i]-z[j]);}int dist(int i,int j,int k){ long long r1=abs(x[i]-x[j])*abs(x[i]-x[j])+abs(y[i]-y[j])*abs(y[i]-y[j])+abs(z[i]-z[j])*abs(z[i]-z[j]); long long r2=abs(x[i]-x[k])*abs(x[i]-x[k])+abs(y[i]-y[k])*abs(y[i]-y[k])+abs(z[i]-z[k])*abs(z[i]-z[k]); if(r1==r2) return 1; else return 0;}void print(int i){printf("x=%d y=%d z=%d\n",x[i],y[i],z[i]);}int main(){ int T; scanf("%d",&T); int cas=1; for(cas=1;cas<=T;cas++) { int i,j,k; for(i=0;i<4;i++) { scanf("%d%d%d",&x[i],&y[i],&z[i]); } int flag=0; for(i=1;i<4;i++) { for(j=1;j<4;j++) { if(j==i) continue; int tmp=dis(0,i,j); // print(i);print(j);printf("\n"); if(tmp==0&&dist(0,i,j)) { for(k=1;k<4;k++) if(k!=i&&k!=j) break; if(dis(k,i,j)==0) {flag=1;break;} } } if(flag) break; } printf("Case #%d: ",cas); if(flag) printf("Yes\n");else printf("No\n"); } return 0;}
0 0
- HDU 5206
- HDU 5206
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- android学习——控制硬加速 hardwareAccelerated 在3.0才有的。APK在一个机器可用在另外机器上不能用
- undefined与null的区别
- Reverse Linked List II
- hdu题目分类
- quick-cocos2d-x游戏开发【4】——添加文本
- HDU 5206
- quick-cocos2d-x游戏开发【5】——创建菜单
- 使用zxing扫描二维码出现黑屏
- SYN Flood和SYN cookie
- C++如何设置默认堆栈的大小
- leetcode 日经贴,Cpp code -Linked List Cycle II
- 发布企业版应用遇到“无法安装应用程序,证书无效”、“无法下载应用程序,此时无法安装”
- C/C++ 字符串输入输出
- 逆向分析之花指令2