当前位置: 首页 > news >正文

[10月考试] C

[10月考试] C

题目描述

一条街道上有 nnn 栋房屋(nnn 为偶数),每两栋房屋之间距离为 111

编号为奇数的房子位于街道的一侧,从街道的开头到尽头编号为 111n−1n-1n1

编号为偶数的房子位于街道的另一侧,从街道尽头到它的开头编号为 222nnn

小 A 站在街道的开头,与房屋 111 和房屋 nnn 距离为 111,与房屋 333 和房屋 n−2n-2n2 距离为 222,以此类推。

求小 A 与编号为 mmm 的房屋的距离。

对于所有数据,1≤m≤n≤1061\leq m\leq n\leq 10^61mn106nnn 为偶数。

输入格式

输入共 111222 个正整数 n,mn,mn,m

输出格式

输出共 111111 个正整数,表示答案。

样例 #1

样例输入 #1

8 3

样例输出 #1

2

样例 #2

样例输入 #2

10 6

样例输出 #2

3

提示

对于所有数据,1≤m≤n≤1061\leq m\leq n\leq 10^61mn106nnn 为偶数。

这道题目要求我们计算小 A 与指定编号 m 的房屋的距离。街道上的房屋编号按照奇偶排列,每两栋房屋之间的距离为 1。

题目分析

  1. 房屋排列规则
    • 奇数编号的房屋在街道的一侧,编号从 1n-1(奇数),从街道开头到尽头。
    • 偶数编号的房屋在街道的另一侧,编号从 2n(偶数),从街道尽头到开头。
  2. 位置关系
    • 小 A 站在街道的开头,距离每栋房屋的距离可以通过其编号来计算。
    • 对于奇数编号的房屋 1, 3, 5, ..., n-1,它们的位置分别是 1, 2, 3, ..., n/2
    • 对于偶数编号的房屋 2, 4, 6, ..., n,它们的位置分别是 n/2, n/2 - 1, ..., 1
  3. 计算距离
    • 对于编号为奇数的房屋 m,其与小 A 的距离为 ((m + 1) / 2)
    • 对于编号为偶数的房屋 m,其与小 A 的距离为 (n / 2 - m / 2)

解题思路

  • 对于给定的房屋编号 m,根据其奇偶性,计算与小 A 的距离。
  • 如果 m 是奇数,距离为 ((m + 1) / 2)
  • 如果 m 是偶数,距离为 (n / 2 - m / 2)
#include <iostream>
using namespace std;int main() {int n, m;cin >> n >> m;if (m % 2 == 1) {// 奇数编号的房屋cout << (m + 1) / 2 << endl;} else {// 偶数编号的房屋cout << n / 2 - m / 2 << endl;}return 0;
}

代码解析

  1. 输入读取:读取两个整数 nm
  2. 判断奇偶:通过 m % 2 判断房屋编号 m 是奇数还是偶数。
    • 如果是奇数,输出 ((m + 1) / 2),表示与小 A 的距离。
    • 如果是偶数,输出 (n / 2 - m / 2),表示与小 A 的距离。
  3. 输出结果:输出计算出的结果。

时间复杂度

  • 由于本题的计算只涉及到几次简单的加法、除法和取余操作,因此时间复杂度是 O(1)
  • 这对于输入规模 nm 最大为 10^6 是非常高效的。
http://www.dtcms.com/a/301234.html

相关文章:

  • Java面试全攻略:Spring生态与微服务架构实战
  • LangChain实现RAG
  • [2025CVPR-图象超分辨方向]DORNet:面向退化的正则化网络,用于盲深度超分辨率
  • 马尔可夫链
  • 设计模式(十三)结构型:代理模式详解
  • Python 使用 asyncio 包处理并 发(避免阻塞型调用)
  • 图像智能识别算法记录
  • 动态规划 (Dynamic Programming) 算法概念-Python示例
  • Leetcode——287. 寻找重复数
  • SignalR 全解析:核心原理、适用场景与 Vue + .NET Core 实战
  • 工业控制系统安全之 Modbus 协议中间人攻击(MITM)分析与防范
  • 全面理解JVM虚拟机
  • RS485转profinet网关如何让JRT激光测距传感器开启自动模式连续测量模式
  • 淘宝获取店铺订单信息操作指南
  • Python爬虫入门:从零开始抓取网页数据
  • 每日一讲——Podman
  • 分布式事务-MQ事务消息学习与落地方案
  • 前端面试专栏-前沿技术:32.AI辅助开发工具应用
  • 0-1BFS(双端队列,洛谷P4667 [BalticOI 2011] Switch the Lamp On 电路维修 (Day1)题解)
  • 用 Flask 打造宠物店线上平台:从 0 到 1 的全栈开发实践
  • 电商项目_核心业务_数据归档
  • esp32-使用虚拟机开发-部署esp32的linux的环境
  • 如何关闭浏览器的迅雷图标 - 去掉浏览器左下角的迅雷图标 - chrome - 关闭迅雷检测
  • C/C++核心知识点详解
  • 剑指offer——搜索算法:数字序列中某一位的数字
  • Python操作Excel文件完整指南
  • 深度强化学习走向多智能体:从AlphaGo到智能车队
  • AtCoder Beginner Contest 416(A~D)
  • Leetcode 3629. Minimum Jumps to Reach End via Prime Teleportation
  • 由于主库切换归档路径导致的 Oracle DG 无法同步问题的解决过程