news 2026/2/15 6:59:56

1230 算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1230 算法

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

// 读取输入:N(点位数量)、基地X0、Y0
int N = scanner.nextInt();
int x0 = scanner.nextInt();
int y0 = scanner.nextInt();

// 存储「最简斜率」的计数(键:斜率的最简分数形式,值:出现次数)
Map<String, Integer> directionMap = new HashMap<>();

for (int i = 0; i < N; i++) {
int xi = scanner.nextInt();
int yi = scanner.nextInt();

// 计算相对基地的偏移量
int dx = xi - x0;
int dy = yi - y0;

// 生成最简形式的方向标识
String direction = getReducedForm(dx, dy);

// 记录该方向
directionMap.put(direction, directionMap.getOrDefault(direction, 0) + 1);
}

// 不同方向的数量就是最小路线数
System.out.println(directionMap.size());

scanner.close();
}

// 将(dx, dy)约分为最简分数形式,返回唯一标识字符串
private static String getReducedForm(int dx, int dy) {
if (dx == 0 && dy == 0) {
return "0,0"; // 理论上不会出现(基地本身不是拾取点)
}

// 计算最大公约数(GCD)
int gcd = gcd(Math.abs(dx), Math.abs(dy));
if (gcd != 0) {
dx /= gcd;
dy /= gcd;
}

// 统一符号:让分子为正(若分子为0,让分母为正),避免(-1,1)和(1,-1)被误判为不同方向
if (dx < 0) {
dx = -dx;
dy = -dy;
} else if (dx == 0) {
if (dy < 0) {
dy = -dy;
}
}

return dx + "," + dy;
}

// 计算两个数的最大公约数(欧几里得算法)
private static int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a % b);
}
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/12 7:37:23

【课程设计/毕业设计】基于Spring Boot的社区信息管理系统的设计与实现基于SpringBoot的智慧社区系统设计与实现【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/2/12 8:19:19

Jupyter Notebook连接远程Miniconda-Python3.10环境运行PyTorch

Jupyter Notebook连接远程Miniconda-Python3.10环境运行PyTorch 在深度学习项目日益复杂的今天&#xff0c;一个常见的困境是&#xff1a;本地笔记本配置有限&#xff0c;跑不动大模型&#xff1b;而远程服务器虽然性能强劲&#xff0c;却缺乏便捷的交互式开发体验。如何既享受…

作者头像 李华
网站建设 2026/2/7 7:06:59

PyTorch安装教程GPU版:Miniconda-Python3.10镜像一键配置深度学习环境

PyTorch GPU环境一键搭建&#xff1a;MinicondaPython3.10镜像实战指南 在深度学习项目启动阶段&#xff0c;最让人头疼的往往不是模型设计&#xff0c;而是环境配置——“为什么你的代码在我机器上跑不起来&#xff1f;”这个问题几乎困扰过每一位AI开发者。依赖冲突、CUDA版本…

作者头像 李华
网站建设 2026/2/7 14:58:33

西湖大学与蚂蚁集团OmniAgent:AI实现视听融合视频理解

这项由西湖大学陶柯达教授领导、联合蚂蚁集团多位研究员共同完成的突破性研究发表于2025年12月30日的arXiv预印本平台&#xff0c;论文编号为2512.23646。有兴趣深入了解技术细节的读者可以通过该编号查询完整论文。这项研究首次提出了一种全新的AI视频理解方法&#xff0c;让机…

作者头像 李华
网站建设 2026/2/3 5:50:20

【课程设计/毕业设计】基于Java和Spring Boot的二手车交易系统设计与实现基于Spring Boot与MySQL的二手车销售管理系统的设计与实现【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/2/3 8:29:48

小白也能学会的PyTorch安装教程GPU版|Miniconda-Python3.10上手指南

小白也能学会的PyTorch安装教程GPU版&#xff5c;Miniconda-Python3.10上手指南 在深度学习的世界里&#xff0c;第一步往往不是写模型&#xff0c;而是——环境装不上。 你是不是也经历过这样的场景&#xff1a;跟着教程敲命令&#xff0c;结果 pip install torch 装完一跑…

作者头像 李华