news 2026/4/23 18:04:22

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/4/23 11:50:13

北京固定种植牙多少钱一颗

北京固定种植牙多少钱一颗在现代口腔医学中&#xff0c;种植牙已成为修复缺失牙齿的首选方法之一。对于许多患者来说&#xff0c;选择合适的种植牙不仅关系到口腔健康&#xff0c;还涉及到经济成本。在北京这样一个大城市&#xff0c;固定种植牙的价格因多种因素而异。本文将为…

作者头像 李华
网站建设 2026/4/23 17:11:54

命运的齿轮开始转动:一名普通工程师 AI 转型一年

一名普通工程师 AI 转型一年&#xff0c;这是我对 2025 年 AI 技术学习与实践的一次完整复盘。 一转眼2025已又到尾声&#xff0c;去年11月一次偶然的事件似乎正在悄悄改变我的职业规划&#xff0c;命运的齿轮开始转动&#xff0c;从此开启了魔幻之路&#xff0c;从一名普通码…

作者头像 李华
网站建设 2026/4/16 11:32:32

【汉字拼音与语义关联】

汉字拼音与语义关联 "Tuan"在汉语拼音中对应两个常用汉字&#xff1a;“团"和"湍”。"团"表示集体或圆形物体&#xff0c;"湍"描述水流急速的状态。这种同音异义现象体现了汉语通过音调区分语义的特性。 双结构链路设计原理 语言文字符…

作者头像 李华
网站建设 2026/4/23 11:34:08

SSH免密登录Miniconda容器进行长期模型训练监控

SSH免密登录Miniconda容器进行长期模型训练监控 在AI模型训练日益复杂和漫长的今天&#xff0c;一个稳定、可复现且易于维护的远程开发环境已成为科研与工程团队的核心需求。当你的训练任务跑上三天三夜时&#xff0c;你最不想遇到的就是&#xff1a;SSH连接中断导致进程挂掉、…

作者头像 李华
网站建设 2026/4/23 12:16:10

字节跳动推出UniMAGE:让普通人也能拍出好莱坞大片的AI导演

这项由字节跳动智能创作团队与南洋理工大学共同完成的研究发表于2025年12月&#xff0c;论文编号为arXiv:2512.23222v1。有兴趣深入了解的读者可以通过该编号查询完整论文。研究团队的核心成员包括张家旭、胡天枢、张源、李泽楠、罗林杰、林国胜和陈鑫&#xff0c;这个跨国团队…

作者头像 李华
网站建设 2026/4/23 13:13:01

微爱帮监狱寄信云存储技术实现方案

一、安全分层存储架构# 1. 智能分层存储引擎 class SecureCloudStorage:"""监狱通信数据分层存储系统"""def __init__(self):# 存储层配置self.layers {hot: {type: ssd,provider: aliyun_essd,encryption: AES-256-GCM,retention: 7天,cost_fa…

作者头像 李华