首页 > 其他分享 >【轰炸题解】

【轰炸题解】

时间:2024-11-02 09:18:50浏览次数:6  
标签:macs int 题解 轰炸 stars klux y1 sum

轰炸

题目描述

“我该怎么办?”飞行员 klux 向你求助。

事实上,klux 面对的是一个很简单的问题,但是他实在太菜了。

klux 要想轰炸某个区域内的一些地方,它们是位于平面上的一些点,但是(显然地)klux 遇到了抵抗,所以 klux 只能飞一次,而且由于飞机比较破,一点起飞就只能沿直线飞行,无法转弯。现在他想一次轰炸最多的地方。

输入格式

第一行一个整数 n n n。

接下来 n n n 行,每行有一对整数,表示一个点的坐标。没有一个点会出现两次。

输出格式

一个整数,表示一条直线能覆盖的最多的点数。

样例 #1

样例输入 #1

5
1 1
2 2
3 3
9 10
10 11

样例输出 #1

3

提示

数据范围

对于全部数据,保证 1 ≤ n ≤ 700 1\le n\le 700 1≤n≤700。

本题翻译并改编自 uva270,数据及解答由 uva 提供。

#include <iostream>

using namespace std;
int n,stars[705][5],macs;
int main() {
	cin>>n;
	for(int i=0; i<n; i++) {
		cin>>stars[i][0]>>stars[i][1];
	}
	for(int i=0; i<n; i++) {
		for(int j=i+1; j<n; j++) {
			int sum=2,x=stars[i][0],x1=stars[j][0],y=stars[i][1],y1=stars[j][1];
			if(x==x1||y==y1) {
				continue;
			}
			for(int k=j+1; k<n; k++) {
				int x2=stars[k][0],y2=stars[k][1];
				if((y-y1)*(x2-x1)==(y2-y1)*(x-x1)) {
					sum++;
				}
			}
			if(sum>macs) {
				macs=sum;
			}
		}
	}
	for(int i=0; i<n; i++) {
		int sum=2;
		for(int j=i+1; j<n; j++) {
			if(stars[i][0]==stars[j][0]) {
				sum++;
			}
		}
		if(sum>macs) {
			macs=sum;
		}
	}
	for(int i=0; i<n; i++) {
		int sum=2;
		for(int j=i+1; j<n; j++) {
			if(stars[i][1]==stars[j][1]) {
				sum++;
			}
		}
		if(sum>macs) {
			macs=sum;
		}
	}
	cout<<macs;
	return 0;
}

标签:macs,int,题解,轰炸,stars,klux,y1,sum
From: https://blog.csdn.net/DXCcn/article/details/143445786

相关文章

  • Codeforces Round 983 div2 个人题解(A~D)
    CodeforcesRound983div2个人题解(A~D)Dashboard-CodeforcesRound983(Div.2)-Codeforces火车头#define_CRT_SECURE_NO_WARNINGS1#include<algorithm>#include<array>#include<bitset>#include<cassert>#include<cmath>#in......
  • SP30785 ADAAPPLE - Ada and Apple 题解
    洛谷题目传送门博客园可能食用更佳题目大意:给定一棵权值为\(0\)或\(1\)的树,\(n\)个点,\(q\)次操作:0i把结点\(i\)的权值取反;1ij询问点\(i\)到点\(j\)的最短路径上权值是否全为\(0\)或全为\(1\)。题目分析:树上操作,看了下操作发现是树剖板子题。开......
  • P5298 Minimax 题解
    传送门小\(C\)有一棵\(n\)个结点的有根树,根是\(1\)号结点,且每个结点最多有两个子结点。定义结点\(x\)的权值为:1.若\(x\)没有子结点,那么它的权值会在输入里给出,保证这类点中每个结点的权值互不相同。2.若\(x\)有子结点,那么它的权值有\(p_x\)的概率是它的子结点......
  • AT_utpc2012_07 k番目の文字列 题解
    模拟赛搬了这个题,来写个题解。\(n\)这么小,不是状压就是很多很多维DP(暴论)。状压我没想出来,那就正常DP。考虑依次填入字符串的每个位置,记\(f(i,j,num,op)\)表示填了前\(i\)个位置,其中比\(s_0\)小的有\(j\)个,目前字典序比\(s\)小的子串有\(num\)个的方案数,\(op\)表......
  • 天津大学2024华为杯I.个大的大个 题解
    原题链接https://acm.tju.edu.cn/problem/P2040学校oj好像挂了,题解发不出去,又没有草稿功能,所以先存在这里了。前言华为杯时候对字符串不太熟,加上看错题了导致没做出这题,很可惜,苦练几个月,现在已经成为串串大师,回过头来秒一下这题发个题解泄恨。题意给定一个长为\(n\)的字符......
  • 2024御网线上Pwn方向题解
    ASMChecksec检查保护基本上保护都关闭了64位ida逆向程序只有一段,并且返回地址就是输入的数据,看起来就是srop了,找一下可以用的gadget通过异或清空rax值,然后通过异或ecx和1,异或rax和rcx即可增加rax的值,同理左移一位同样可以增加rax的值,将rax增加到0xf然后打srop,程序还给出了......
  • CodeForces Dora and C++ (2007C) 题解
    CodeForcesDoraandC++(2007C)题解题意给一个数组\(c_{1...n}\),定义数组的\(range\)是最大值减最小值,即极差。给出两个值\(a\)和\(b\),每步操作中,可给数组中任一一个数增大\(a\)或增大\(b\)。问任意步操作后(可以是\(0\)步),极差的最小值。思路(要直接看答案可以跳......
  • 第八届御网杯线下赛Pwn方向题解
    由于最近比赛有点多,而且赶上招新,导致原本应该及时总结的比赛搁置了,总结来说还是得多练,因为时间很短像这种线下赛,一般只有几个小时,所以思路一定要清晰,我还是经验太少了,导致比赛力不从心,先鸽了~Skillchecksec检查保护(没有开PIE和Canary)ida逆向分析一下不同的选项对应不同的功......
  • 【考试题解】多校A层冲刺NOIP2024模拟赛17
    A.网格(grid)题目内容给你一个\(n\timesm\)的字符网格\(s\),\(s_{i,j}\in[1,9]\cup\{+,*\}\),从\((1,1)\)开始,仅向下或向右走并最终到达\((n,m)\)的路径被称为合法路径,求所有合法路径对应的表达式的运算结果之和,答案对\(998244353\)取模。部分分44pts爆搜,枚举路径,......
  • 2024 -- 国庆集训 -- 临沂四中 -- 10月01 日 -- S/N模拟赛#1 题解
    A.2025--[炼石计划--NOIP模拟三]--T1--矩形赛时草了个\(O(n^4\log(n))\)竟然能过70分虽然本来就是这么分配的,发现正解只需将二分改为双指针就可以了,最气的是上面计算的时候用到还是尺取下面就用的二分(唐诗)。其实这题就是暴力,然后在低级的暴力上加一些操作变得稍微高级一......