当前位置: 首页 > 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.xdnf.cn/news/1197721.html

相关文章:

  • 论文阅读-IGEV
  • Java进阶7:Junit单元测试
  • Windows10系统使用Cmake4.1.0构建工具+Visual Studio2022编译Opencv4.11教程
  • LabelImg:简洁高效的图像标注工具和下载
  • B站直播视频 | 深度讲解 Yocto 项目:从历史、架构到实战与趋势
  • Vue vuex模块化编码
  • 网络基础19:OSPF多区域实验
  • 中级全栈工程师笔试题
  • Maven之多模块项目管理
  • 什么是加密货币中的节点?
  • 【Linux系统编程】环境变量,进程地址空间与进程控制
  • 使用GIS中基于森林的分类与回归模型来估算房屋价值
  • 工业控制系统安全之 Modbus 协议中间人攻击(MITM)分析与防范
  • 解决ubantu系统下matplotlib中文乱码问题
  • 逆向入门(43)程序逆向篇-tsrh-crackme
  • 【笔记】系统
  • 20250727让飞凌OK3576-C开发板在Rockchip的原厂Android14下通过耳机播音
  • 【设计】设计一个web版的数据库管理平台后端(之二)
  • 29.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--用户配置服务
  • Java中排序规则详解
  • solidity从入门到精通 第六章:安全第一
  • vmware虚拟机中 ubuntu 20.04通过nat设置静态ip(固定ip)
  • Java学习-------桥接模式
  • 文件权限标记机制在知识安全共享中的应用实践
  • 通信名词解释:I2C、USART、SPI、RS232、RS485、CAN、TCP/IP、SOCKET、modbus
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的人格品牌化实现路径研究
  • Linux-文件与文本管理
  • 嵌入式软件面试八股文
  • Photo Studio PRO 安卓版:专业级照片编辑的移动解决方案
  • STM32-USART串口实现接收数据三种方法(1.根据\r\n标志符、2.空闲帧中断、3.根据定时器辅助接收)