UVA 270 Lining Up 共线点 暴力
题意:给出几个点的位置,问一条直线最多能连过几个点。
只要枚举每两个点组成的直线,然后找直线上的点数,更新最大值即可。
我这样做过于暴力,2.7s让人心惊肉跳。。。应该还能继续剪枝的,同一直线找过之后就可以剪掉了。
代码:
- /*
- * Author: illuz <iilluzen@gmail.com>
- * Blog: http://blog.csdn.net/hcbbt
- * File: uva270.cpp
- * Lauguage: C/C++
- * Create Date: 2013-08-25 10:54:55
- * Descripton: UVA 270 Lining Up, greed, enumeration, brute force
- */
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include <cmath>
- #include <iostream>
- #include <list>
- #include <vector>
- #include <map>
- #include <set>
- #include <deque>
- #include <queue>
- #include <stack>
- #include <utility>
- #include <algorithm>
- using namespace std;
- #define rep(i, n) for (int i = 0; i < (n); i++)
- #define repu(i, a, b) for (int i = (a); i < (b); i++)
- #define repf(i, a, b) for (int i = (a); i <= (b); i++)
- #define repd(i, a, b) for (int i = (a); i >= (b); i--)
- #define swap(a, b) {int t = a; a = b; b = t;}
- #define mc(a) memset(a, 0, sizeof(a))
- #define ms(a, i) memset(a, i, sizeof(a))
- #define sqr(x) ((x) * (x))
- #define FI(i, x) for (typeof((x).begin()) i = (x).begin(); i != (x).end(); i++)
- typedef long long LL;
- typedef unsigned long long ULL;
- /****** TEMPLATE ENDS ******/
- const int MAXN = 710;
- int cas, n;
- char str[100];
- pair<int, int> p[MAXN];
- int main() {
- scanf("%d\n", &cas);
- rep(c, cas) {
- n = 0;
- while (gets(str) && strlen(str)) {
- // puts(str);
- sscanf(str, "%d%d", &p[n].first, &p[n].second);
- n++;
- }
- int Max = 1, sum;
- rep(i, n) repu(j, i + 1, n) {
- sum = 2;
- int tx = p[i].first - p[j].first, ty = p[i].second - p[j].second;
- rep(k, n) {
- if (k == i || k == j) continue;
- if ((p[k].first - p[i].first) * ty == (p[k].second - p[i].second) * tx)
- sum++;
- }
- if (sum > Max)
- Max = sum;
- }
- if (c) printf("\n");
- printf("%d\n", Max);
- }
- return 0;
- }
UVA 270 Lining Up 共线点 暴力的更多相关文章
- UVA 270 Lining Up (几何 判断共线点)
Lining Up ``How am I ever going to solve this problem?" said the pilot. Indeed, the pilot was ...
- UVA.129 Krypton Factor (搜索+暴力)
UVA.129 Krypton Factor (搜索+暴力) 题意分析 搜索的策略是:优先找长串,若长串不合法,则回溯,继续找到合法串,直到找到所求合法串的编号,输出即可. 注意的地方就是合法串的判断 ...
- UVA.10986 Fractions Again (经典暴力)
UVA.10986 Fractions Again (经典暴力) 题意分析 同样只枚举1个,根据条件算出另外一个. 代码总览 #include <iostream> #include &l ...
- UVa 270 & POJ 1118 - Lining Up
题目大意:给一些点,找出一条直线使尽可能多的点在这条直线上,求这条直线上点的个数. 以每一个点为原点进行枚举,求其它点的斜率,斜率相同则说明在一条直线上.对斜率排序,找出斜率连续相等的最大长度. #i ...
- uva 10825 - Anagram and Multiplication(暴力)
题目链接:uva 10825 - Anagram and Multiplication 题目大意:给出m和n,要求找一个m位的n进制数,要求说该数乘以2~m中的随意一个数的结果是原先数各个位上数值的一 ...
- UVa 11210 Chinese Mahjong (暴力,递归寻找)
题意:这个题意.有点麻烦,就是说给定13张牌,让你求能“听”的牌.(具体的见原题) 原题链接: https://uva.onlinejudge.org/index.php?option=com_onl ...
- UVa 11059 最大乘积 java 暴力破解
题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...
- UVa 817 According to Bartjens (暴力,DFS)
题意:给出一个数字组成的字符串,然后在字符串内添加三种运算符号 * + - ,要求输出所有添加运算符并运算后结果等于2000的式子. 所有数字不能有前导0, 且式子必须是合法的. 析:这个题很明显的暴 ...
- UVA 10976 分数拆分【暴力】
题目链接:https://vjudge.net/contest/210334#problem/C 题目大意: It is easy to see that for every fraction in ...
随机推荐
- CD key 生成
题目描述如下: 某欧软件需要实现简易的CD-KEY算法,输入3个正整数,以空格隔开,根据者3个正整数生成的cd-key字符串.输出格式:xxxx-xxxx-xxxx-xxyy. 包含16个字符,以短划 ...
- HOOK API(二)—— HOOK自己程序的 MessageBox
HOOK API(二) —— HOOK自己程序的 MessageBox 0x00 前言 以下将给出一个简单的例子,作为HOOK API的入门.这里是HOOK 自己程序的MessageBox,即将自己程 ...
- Problem E: Product
Problem E: ProductTime Limit: 1 Sec Memory Limit: 128 MBSubmit: 18 Solved: 14[Submit][Status][Web Bo ...
- poj 3243 Clever Y 高次方程
1 Accepted 8508K 579MS C++ 2237B/** hash的强大,,还是高次方程,不过要求n不一定是素数 **/ #include <iostream> #inclu ...
- java从c struct传来的字节数组中取值
public int getInt(byte[] array,int index) { return (array[index] & 0xff) | (array[index + 1] & ...
- LintCode-两数之和
题目描述: 给一个整数数组,找到两个数使得他们的和等于一个给定的数target. 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标.注意这里下标的范围是1到n,不是以 ...
- 帝国cms语句调用
帝国cms系统,灵动标签,有着非常强大的数据调用功能.这里为广大菜鸟站长普及一下. 我们来看这段代码. [e:loop={,,}] <li>·<a target="_bla ...
- Python正则表达式一: 基本使用方法
学习python的正则表达式,主要有两个方面学习: 第一,学习如何写正则表达式,主要是掌握其语法规范.正则表达式的语法规范是通用的,对各种开发语言都是一致的. 第二,学习如何使用正则表达式,也就是掌握 ...
- ajax 中文乱码
ajax 中文乱码 Firefox 正常,IE 有问题是 解决办法 data:{"name":name,"number":number,"card ...
- 汇编语言学习——第二章 寄存器(CPU工作原理)
1.一个典型的CPU由运算器.控制器.寄存器等器件组成,这些器件靠内部总线相连. 区别: 内部总线实现CPU内部各个器件之间的联系. 外部总线实现CPU和主板上其它器件的联系. 8086CPU有14个 ...