AT_hbpc_3.1=0.999...

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

“1 和 0.999... 表示完全相同的实数”这一话题,在网络上经常被讨论。本题就是关于这类小数的问题。输入格式如下:

NN a1a_1 a2a_2 : aNa_N

第一行给出要处理的小数的个数 NN。接下来的 NN 行中,每行给出一个实数 aia_i。aia_i 可以是有限小数,也可以是循环小数,所有 aia_i 组成实数集合 A={ai}A = \{a_i\}。同一个实数可能以不同的形式给出。

有限小数和循环小数的格式遵循以下 BNF 规则。在循环小数中,用括号括起来的部分表示循环节,例如 0.(01) 表示 0.010101...0.010101...。

<pre style="font-family: monospace;letter-spacing:0;">
 ::=  "." 
 ::=  "."  "("  ")"
   ::= "0" |  
      ::= "" | 
      ::=  
    ::= "0" | 
    ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
  • 1≤N≤3001 \leq N \leq 300
  • aia_i 的字符串长度不超过 300300

请你求出实数集合 AA 中不同元素的个数。

例如:

2
1.0
0.(9)

输出:

1

再如:

3
3.(142857)
3.1(428571)
3.14(285714)

输出:

1

输入格式

第一行包含一个整数 NN,表示小数的个数。

接下来的 NN 行,每行包含一个字符串 aia_i,表示一个有限小数或循环小数。

输出格式

输出一个整数,表示集合 AA 中不同实数的个数。

说明/提示

无。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页