POJ 3174 Alignment of the Planets (暴力求解)
题意:给定 n 个坐标,问你三个共线的有多少组。
析:这个题真是坑啊,写着 n <= 770,那么一秒时间,三个循环肯定超时啊,我一直不敢写了,换了好几种方法都WA了,也不知道为什么,在比赛时坑我了两个多小时,
最后看到那么多过的,就想试试,真的AC ,三个循环一点没优化,竟然才150多毫秒,。。。。POJ的数据真是水啊。
没什么好说的,只要三个循环,然后判断斜率就好了。
代码如下:
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <cstring>
#include <set>
#include <queue>
#include <string>
#include <algorithm>
#include <vector>
#include <map>
using namespace std ;
typedef long long LL;
typedef pair<int, int> P;
const int INF = 0x3f3f3f3f;
const double inf = 0x3f3f3f3f3f3f3f;
const double eps = 1e-11;
const int maxn = 770 + 5;
struct Node{
int id1, id2, id3;
Node(int a, int b, int c) : id1(a), id2(b), id3(c) { }
bool operator < (const Node &p) const{
if(id1 != p.id1) return id1 < p.id1;
else if(id2 != p.id2) return id2 < p.id2;
else return id3 < p.id3;
}
};
struct node{
int id, x, y;
};
struct node1{
int id;
double rad;
bool operator < (const node1 &p) const{
return rad < p.rad || (p.rad == rad && id < p.id);
}
}; double Fabs(double x){
return x < 0.0 ? -x : x;
} vector<Node> ans;
node a[maxn]; int main(){
int n, x, y, c;
scanf("%d", &n);
for(int i = 0; i < n; ++i){
scanf("%d %d", &x, &y);
a[i].id = i+1;
a[i].x = x+1;
a[i].y = y+1;
} for(int i = 0; i < n; ++i){
for(int j = i+1; j < n; ++j){
for(int k = j+1; k < n; ++k){
if((a[i].y-a[j].y)*(a[i].x-a[k].x) == (a[i].y-a[k].y)*(a[i].x-a[j].x)){
ans.push_back(Node(a[i].id, a[j].id, a[k].id));
}
}
}
} // sort(ans.begin(), ans.end());
printf("%d\n", ans.size());
for(int i = 0; i < ans.size(); ++i)
printf("%d %d %d\n", ans[i].id1, ans[i].id2, ans[i].id3);
return 0;
} /*
6
1 2
1 3
1 4
1 5
1 6
1 1
*/
POJ 3174 Alignment of the Planets (暴力求解)的更多相关文章
- POJ 3175 Finding Bovine Roots (暴力求解)
题意:给定一串数字,问你这是一个数字开方根得到的前几位,问你是哪个数字.析:如果 x.123... 这个数字的平方是一个整数的话,那必然sqr(x.124) > ceil(sqr(x.123)) ...
- POJ 1562(L - 暴力求解、DFS)
油田问题(L - 暴力求解.DFS) Description The GeoSurvComp geologic survey company is responsible for detecting ...
- 逆向暴力求解 538.D Weird Chess
11.12.2018 逆向暴力求解 538.D Weird Chess New Point: 没有读好题 越界的情况无法判断,所以输出任何一种就可以 所以他给你的样例输出完全是误导 输出还搞错了~ 输 ...
- 隐型马尔科夫模型(HMM)向前算法实例讲解(暴力求解+代码实现)---盒子模型
先来解释一下HMM的向前算法: 前向后向算法是前向算法和后向算法的统称,这两个算法都可以用来求HMM观测序列的概率.我们先来看看前向算法是如何求解这个问题的. 前向算法本质上属于动态规划的算法,也就是 ...
- BestCoder Round #79 (div.2)-jrMz and angles,,暴力求解~
jrMz and angle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- hdu6570Wave (暴力求解)
Problem Description Avin is studying series. A series is called "wave" if the following co ...
- <字符串匹配>KMP算法为何比暴力求解的时间复杂度更低?
str表示文本串,m表示模式串; str[i+j] 和 m[j] 是正在进行匹配的字符; KMP的时间复杂度是O(m+n) , 暴力求解的时间复杂度是O(m*n) KMP利用了B[0:j]和A[i ...
- 暴力求解——POJ 1321 棋盘问题
Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...
- POJ 3174 暴力枚举
思路: 暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1.y1.x2.y2为他们两两的差 //By SiriusRen #include <cstdio> using nam ...
随机推荐
- 一个基于WebGL的仿真3D水池有逼真的水波纹效果
最近在研究WebGL,看到国外很多高手做的很多超炫的3D效果,无比羡慕.忍不住把效果趴下来研究,下面介绍一个逼真的游泳池中浮动小球的效果.效果非常绚丽,功能强大.示例可切换观察水池的视角,不同视角考虑 ...
- Android udev /dev 设备节点权限
/************************************************************************* * Android udev /dev 设备节点权 ...
- Java自动装箱拆箱
一.装箱.拆箱定义 如果一个int型量被传递到需要一个Integer对象的地方,那么,编译器将在幕后插入一个对Integer构造方法的调用,这就叫做自动装箱.而如果一个Integer对象被放到需要in ...
- 用Jquery Widgets Factory写自己的表格控件——AFGrid(支持增、删、改)
一,Jquery Widget Factory介绍 官网地址 Demo:http://jqueryui.com/widget/ API:http://api.jqueryui.com/jQuery.w ...
- 开发框架XUtils
xUtils 包含了很多实用的android工具. xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的O ...
- Web表格
HTML元素学习 1:表格:表格的作用是显示表格数据,小范围内布局 表格的框架 <!doctype html> <html lang="en"> <h ...
- Axure rp 基础知识 转
首先做个声明:此次教程里为了快速完成,借用了一些网上已有教程的图文,不是剽窃,只图方便.另外,因为汉化版本可能功能名称等略有差别,请自行理解. 名词解释: 线框图:一般就是指产品原型,比如:把线框图尽 ...
- 徐汉彬:亿级Web系统搭建——单机到分布式集群(转载)
文章转载自http://www.csdn.net/article/2014-11-06/2822529/1 当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的 ...
- erlang 常用函数
os:getpid() 获得erl.exe的进程表示符 application:start(appname, Type), Type == permanent 表示一个应用死了,其它应用全部死掉 ...
- bzoj3714: [PA2014]Kuglarz
[PA2014]KuglarzTime Limit: 20 Sec Memory Limit: 128 MBSubmit: 553 Solved: 317[Submit][Status][Discus ...