[语言月赛 202504] 古诗求和

Luogu
IDLGB4318
Time1000ms
Memory512MB
DifficultyP2
2025字符串(入门)语言月赛
yummy 热衷于含有数字的古诗词。最近他对古诗词中出现的数之和比较感兴趣。 但是直接输入中文让大家寻找数字太困难了,于是 yummy 决定: - 把所有**不构成数**的字改成拼音,把构成数的字直接用构成的阿拉伯数字代替(**注意不是逐字代替**),例如“四十三年”会被替换成 `43nian`(而不是 `4103nian`)。 - 如果两个位置相邻的数字不应该连在一起,那么会用下划线 `_` 隔开。例如“八九十枝花”会被替换成 `8_9_10zhihua`。 - 标点符号只保留逗号、句号、问号、叹号,均采用英文标点(半角标点)。四个标点符号对应的英文标点分别为 `,.?!`。**和传统排版格式不同,本题标点符号后面不空格。** - 对于一首古诗词,我们认为以句号、问号、叹号为界划分出的片段为句,逗号两边是同一个句子。 经过上述处理的古诗词一定只可能出现小写英文字母、数字、`,.?!_`。 给出一段古诗词,我们只考虑整数。 请对于其中每一句古诗词,计算其中出现了几个数,以及这些数的和**的奇偶性**。 ## Input 输入一行一个字符串,表示古诗词。 ## Output 对于每一句古诗词,输出一行,包含一个自然数 $c$ 和字符串 $s$,用空格隔开。其中 $c$ 表示这句古诗词中数的个数,$s$ 表示这些数的和的奇偶性,`Odd` 表示奇数,`Even` 表示偶数。 特别地,我们认为 $0$ 个数的和是 $0$,换言之此时输出 `Even`。 [samples] ## Note 【样例 1 解释】 输入选自邵雍的《山村咏怀》: > 一去二三里,烟村四五家。 > > 亭台六七座,八九十枝花。 第一句诗中有 $1,2,3,4,5$ 这五个数,总和为 $15$,是奇数,因此输出 `5 Odd`。 第二句诗中有 $6,7,8,9,10$ 这五个数,总和为 $40$,是偶数,因此输出 `5 Even`。 【样例 2 解释】 输入选自李煜的《破阵子·四十年来家国》: > 四十年来家国,三千里地山河。 > > 凤阁龙楼连霄汉,玉树琼枝作烟萝,几曾识干戈? > > 一旦归为臣虏,沈腰潘鬓消磨。 > > 最是仓皇辞庙日,教坊犹奏别离歌,垂泪对宫娥。 第 $1$ 句词出现了 $2$ 个数 $40$ 和 $3000$,和为偶数。 第 $3$ 句词出现了 $1$ 个数 $1$,和为奇数。 第 $2,4$ 句词没有出现数,数之和是偶数。 【样例 3 解释】 输入选自白居易的《暮江吟》: > 一道残阳铺水中,半江瑟瑟半江红。 > > 可怜九月初三夜,露似真珠月似弓。 注意两个“半”在本题中认为不构成数。 【数据范围】 输入字符串仅可能出现小写英文字母、数字、`,.?!_`,长度不超过 $500$,且均为古诗词或古文,但有可能会进行删减。**保证最后一个字符是 `.?!` 之一。** 本题共有 $10$ 个测试点,部分测试点有特殊性质,具体如下,其中 `Yes` 表示保证对应性质,`No` 不保证: |测试点编号|只有一句话|只有一位数| |:-:|:-:|:-:| |$1,2$|Yes|Yes| |$3,4,5$|No|Yes| |$6,7$|Yes|No| |$8,9,10$|No|No|
Samples
Input #1
1qu2_3li,yancun4_5jia.tingtai6_7zuo,8_9_10zhihua.
Output #1
5 Odd
5 Even
Input #2
40nianlaijiaguo,3000lidishanhe.fenggelongloulianxiaohan,yushuqiongzhizuoyanluo,jicengshigange?1danguiweichenlu,shenyaopanbinxiaomo.zuishicanghuangcimiaori,jiaofangyouzoubielige,chuileiduigonge.
Output #2
2 Even
0 Even
1 Odd
0 Even
Input #3
1daocanyangpushuizhong,banjiangsesebanjianghong.kelian9yuechu3ye,lusizhenzhuyuesigong.
Output #3
1 Odd
2 Even
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛 202504] 古诗求和",
    "description": {
      "content": "yummy 热衷于含有数字的古诗词。最近他对古诗词中出现的数之和比较感兴趣。 但是直接输入中文让大家寻找数字太困难了,于是 yummy 决定: - 把所有**不构成数**的字改成拼音,把构成数的字直接用构成的阿拉伯数字代替(**注意不是逐字代替**),例如“四十三年”会被替换成 `43nian`(而不是 `4103nian`)。 - 如果两个位置相邻的数字不应该连在一起,那么会用下划线 `_`",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB4318"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "yummy 热衷于含有数字的古诗词。最近他对古诗词中出现的数之和比较感兴趣。\n\n但是直接输入中文让大家寻找数字太困难了,于是 yummy 决定:\n\n- 把所有**不构成数**的字改成拼音,把构成数的字直接用构成的阿拉伯数字代替(**注意不是逐字代替**),例如“四十三年”会被替换成 `43nian`(而不是 `4103nian`)。\n- 如果两个位置相邻的数字不应该连在一起,那么会用下划线 `_`...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments