hdu 5365 Run(BC 50 B题)(求四边形的个数)
2015-08-09 00:18
225 查看
本来准备睡觉,结果还是忍不住想把它A了,因为已经看了题解了,
题意:就是给你一些坐标,都是整数,求一些正多边形的数目,官方题解说是地球人都知道整数坐标构不成正三角形,正五边形和正六边形的。。。然而我并不知道。。。以后才知道。。。
所以呢这道题直接暴力就可以了,求正四边形的个数,这里判断是否是正四边形用的是四条边相等,而且两条对角线相等,并且边比对角线小,我也不知道是否这样一定是正四边形(。。。)(后来网上查了一下,这样是可行的,不过还得增加一个条件,就是长的一组边是短的的根号2倍,意思就是证明有直角存在)sh说的方法我觉得也可以,就是对角线垂直相等。。。
放代码:
题意:就是给你一些坐标,都是整数,求一些正多边形的数目,官方题解说是地球人都知道整数坐标构不成正三角形,正五边形和正六边形的。。。然而我并不知道。。。以后才知道。。。
所以呢这道题直接暴力就可以了,求正四边形的个数,这里判断是否是正四边形用的是四条边相等,而且两条对角线相等,并且边比对角线小,我也不知道是否这样一定是正四边形(。。。)(后来网上查了一下,这样是可行的,不过还得增加一个条件,就是长的一组边是短的的根号2倍,意思就是证明有直角存在)sh说的方法我觉得也可以,就是对角线垂直相等。。。
放代码:
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<vector> #include<set> #include<string> #include<algorithm> using namespace std; int solve(int a,int b,int c,int d) { return (a-c)*(a-c)+(b-d)*(b-d); } int cmp(const void *a,const void *b) { return *(int *)a - *(int *)b; } int main() { int n,i,j,k,p; int a[25],b[25],c[25]; while(cin >> n) { for(i=1; i<=n; i++) cin >> a[i] >> b[i]; int ans = 0; for(i=1; i<=n; i++) for(j=i+1; j<=n; j++) for(k=j+1; k<=n; k++) for(p=k+1; p<=n; p++) { c[0] = solve(a[i],b[i],a[k],b[k]); c[1] = solve(a[i],b[i],a[j],b[j]); c[2] = solve(a[i],b[i],a[p],b[p]); c[3] = solve(a[j],b[j],a[k],b[k]); c[4] = solve(a[j],b[j],a[p],b[p]); c[5] = solve(a[k],b[k],a[p],b[p]); qsort(c,6,sizeof(c[0]),cmp); if(c[0]==c[1]&&c[1]==c[2]&&c[2]==c[3]&&c[4]==c[5]) ans++; } cout << ans << endl; } return 0; }
相关文章推荐
- 黑马程序员--java基础--网络编程
- HDU 5365 Run ——BestCoder Round #50(div.1 div.2)
- CCS5.1/5.5/6下载地址
- Python-Selenium2做Web自动化测试(3)-环境搭建以及第一个脚本
- POJ - 3352 Road Construction(边双连通分量)
- 学习笔记——maven的操作和使用
- HDU1241 Oil Deposits
- Brew:command not found in Macbook
- Longest Palindromic Substring
- Bash中的数学计算
- 操作系统概述
- tcpreplay工具安装使用
- java并发 非阻塞同步算法与CAS(Compare and Swap)无锁算法
- 机器学习中的算法(1)-决策树模型组合之随机森林与GBDT
- net.sf.ehcache.config.Configurator#configure : No configuration found.
- HDU 5366 The mook jong(DP)
- SVN如何避免冲突
- ViewFlipper实现ViewPager的页面切换效果
- fgets和scanf的区别
- [leedcode 242] Valid Anagram