POJ 1118,2606,2780,3512
来源:互联网 发布:js 深度克隆 编辑:程序博客网 时间:2024/06/02 01:42
四题题意都是问一个平面上很多离散点,问一条直线最多能串起几条,作为糖葫芦控毫无压力呀喵哈哈~买一送三的题当然做了OTZ…区别貌似就是2780说明没有重点;2606坐标有负数,没重点;3512是升级版数据量大一点,input格式不一样;OTZ,用同一段代码交过了,呐~莫名其妙的心虚的感觉呀喵哈哈~
做法也不难想到,枚举每两个点之间连线段的斜率,对斜率排序,数数对于同一个点斜率相等的线段最多的个数,就可以了。需要处理斜率垂直于x轴的直线,我还处理了重(chong,二声)点,可是貌似数据里没有重点OTZ…
代码如下:
#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define LL __int64#define eps 1e-8#define inf 100000000using namespace std;LL ans,n,tmp,mm,ch[1005],x[1005],y[1005];double now,na[1005][1005];int main(){ while(EOF!=(scanf("%I64d",&n)) && n){ memset(ch,0,sizeof(ch));memset(na,0,sizeof(na));for(LL i=0;i<n;i++)scanf("%I64d%I64d",&x[i],&y[i]);for(LL i=0;i<n;i++){for(LL j=0;j<n;j++){double k;if(x[i]==x[j] && y[i]==y[j]) k=inf+1;else if(x[i]==x[j]) k=inf;elsek=(double)(y[j]-y[i])/(double)(x[j]-x[i]);na[i][j]=k;//printf("%.16lf ",na[i][j]); //na记录斜率,inf是垂直于x轴,inf+1是重点,为了排序后排在最后的}//printf("\n");}for(LL i=0;i<n;i++) sort(&na[i][0],&na[i][n]);ans=0;for(LL i=0;i<n;i++){mm=0;tmp=1;now=na[i][0]; for(LL j=1;j<n;j++){ if(fabs(na[i][j]-(inf+1))<eps){ ch[i]++;}else if(fabs(na[i][j]-now)<eps) tmp++;else { now=na[i][j];mm=max(mm,tmp);tmp=1;}}mm=max(mm,tmp);ans=max(mm+ch[i],ans);}printf("%I64d\n",ans);}return 0;}
1.学习了sscanf的用法,从字符串中读入内容,可以是数或者子串等等。
for(n=0;;n++){ gets(s); if(s[0]=='-'&&s[1]=='-') break; sscanf(s,"%d%d",&x[n],&y[n]);}2.调戏浮点数的技巧,判等,同一正负0的必不可少的eps,具体精度根据题目要求调整吧~
很久没写代码了OTZ,很多脑残的地方处理不清晰,练起来吧~
另,昨天写的太滥了XDOJ交不过OTZ,又改了一会儿上三角矩阵版本OTZ,见下一篇XDOJ1008
- POJ 1118,2606,2780,3512
- poj 1118 Lining Up || poj 2780 Linearity || poj 2606 Rabbit hunt
- poj 1118 2606 共线
- POJ 求平面点阵中的最大共线点数系列 (POJ 1118 + 2606 + 2780)
- poj 1118 2606解题报告
- POJ 1118 Lining Up & POJ 2606 Rabbit hunt(模拟)
- POJ-2606
- POJ 2780
- POJ 1118
- POJ 1118
- poj 1118
- poj 1118
- poj 1118
- POJ-1118
- poj 1118
- POJ 1118与2606 (水题)
- POJ 1118+2606+2780 (求平面上同一条直线的最多点数)
- POJ 1118+2606+2780(同一直线上点最多的数目)
- JavaEE应用程序性能调优案例分析
- 模拟javascript函数:
- 有用的函数-xml处理
- 模板路径常量传址到js文件中的小技巧
- 2012_01_25
- POJ 1118,2606,2780,3512
- Basic Management Theory
- 使用ob_gzhandler函数有3种方法让它对php进行压缩
- diff
- json_decode使用
- USACO Section 5.1 Musical Themes - 题目转换以及KMP..
- 今天终于理解了JSON
- Memcached - PHP 安装&使用
- 【2-SAT】POJ 3648