#P1469. 找筷子

找筷子

P1469 找筷子

题目背景

本题围绕“找筷子”所描述的场景展开。餐厅中有若干根筷子,每根筷子用一个正整数表示长度。

下面的题面采用非逐字重述方式整理,但保留原题中的全部判定条件、边界含义、输入输出要求与特殊约定。

题目描述

餐厅中有若干根筷子,每根筷子用一个正整数表示长度。

筷子的总数为奇数,并且保证:除了一根落单的筷子外,其余每种长度的筷子都恰好成对出现。

请找出落单筷子的长度。

完整规则与任务要求

处理本题时,必须同时满足下列全部要求,不能只实现其中一部分:

  • 餐厅中有若干根筷子,每根筷子用一个正整数表示长度。
  • 筷子的总数为奇数,并且保证:。
  • 除了一根落单的筷子外,其余每种长度的筷子都恰好成对出现。
  • 请找出落单筷子的长度。
  • 总数保证为奇数,并且仅有一个长度出现奇数次。
  • 其余所有长度均成对出现,顺序没有规律。

程序应完整读取“输入格式”中规定的所有数据,并严格按照“输出格式”给出结果。题目中的区间端点、编号起点、排序优先级、同分处理、空结构处理、取模方式和特殊字符串,均以本题面明确写出的规则为准。

所有算法还必须覆盖“数据范围”中的最小规模、最大规模及边界情况,不能只针对样例或小数据。

输入格式

第一行输入一个整数 nn,表示筷子数量。

第二行输入 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n,其中 aia_i 表示第 ii 根筷子的长度。

输出格式

输出一行一个整数,表示落单筷子的长度。

样例

7
2 2 3 4 4 3 7
7

样例说明

样例输入按照上述规则处理。餐厅中有若干根筷子,每根筷子用一个正整数表示长度。最终得到题面所列的样例输出。样例只用于说明规则与格式,程序仍需覆盖全部数据范围。

数据范围

  • 对于部分数据:n105n\le10^5
  • 对于全部数据:1n107+11\le n\le10^7+11ai1091\le a_i\le10^9
  • 只有一个长度出现奇数次,其余长度均成对出现;
  • 内存限制很小,应避免保存全部数据;
  • 大数据下应注意输入效率。

题目信息来源:洛谷 P1469。

边界与子任务说明

  • 测试数据可能覆盖题面允许的最小值、最大值、重复值、空结果、无解或极端结构等边界情形。
  • 若原题未额外列出分档子任务,则所有测试点统一遵守上述完整数据范围;若题面已经列出比例或分档条件,则这些条件均应视为题面的一部分。
  • 不能根据公开样例推断未写出的额外限制。

本题面依据洛谷 P1469 的公开题目信息重新整理,为内容完整的非逐字重述版。