#P1668. Taxation With Representation Overdone

    ID: 669 远端评测题 1000ms 10MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>树结构并查集动态规划Greater New York 2003

Taxation With Representation Overdone

本题没有可用的提交语言。

题目描述

在卡利(Kalii)这片土地上,曾有一个与我们所处文明颇为相似的文明。他们有政府、商业和科技。唯一的主要区别在于税率的确定方式。要知道,卡利的人们热衷于讨价还价。他们对所有事情都要讨价还价,包括他们收入中上缴给政府国库的比例。

当一个卡利家庭的税务合同到期时,他们必须前往首都,与政府官员讨价还价并敲定一份新协议。合同会包含起始日期、结束日期(出于记账目的,结束日总是结束月份的15号)以及税率。在卡利,一个家庭在上一份合同结束与新合同开始之间享受一段短暂的免税期也是一种传统。这段时间同样是讨价还价的要点。

卡利土地繁荣且人口众多,因此,政府官员常常工作负担过重。当与一个家庭达成协议后,官员们会迅速以速记形式记录下来,然后送去处理。这些潦草的记录必须转换成XML格式,以便录入他们的计算机系统。有时,记录字迹难以辨认,这个家庭就得被召回首都进行新一轮的讨价还价。整个过程效率极低,但卡利人一直都是这么做的,而且短期内他们也不打算改变。

你的任务是将官员们的潦草记录转换成XML格式。

输入

输入由多个数据集组成,每行一个。每一个正确的行包含三条信息:

  1. 税率
    • 如果税率是整数,后面总会有一个“%”(例如5%)。
    • 税率中永远不会有小数点。
    • 税率可能包含分数,但分母只能是2、4或8 。
    • 税率的分子必须小于分母。
  2. 合同结束日期
    • 合同结束日期是用数字表示的月份(一位或两位数字)和年份的最后两位数字。月份和年份可以用单个连字符分隔(例如,12 - 05或1205都表示2005年12月15日)。
  3. 合同起始日期
    • 合同起始日期是用数字表示的月份(一位或两位数字)和当月的两位日期数字。月份和日期可以用单个连字符分隔(例如,12 - 05或1205都表示2003年12月5日)。
    • 合同起始日期必须在当前日期或之后。例如,当前年份是2003年。如果起始日期是305,就假定合同起始年份为2004年。

注意:这三个字段之间可能有0个或多个空格。

注意:卡利日历和你熟悉的一样有十二个月,但所有月份都有31天。

注意:最高税率是99.875% 。

输出

对于每个数据集,打印正确缩进的XML(每个缩进级别为4个空格):

<Kalii Index=N>
    <startdate>(起始日期)</startdate>
    <rate>(税率)</rate>
    <enddate>(结束日期)</enddate>
</Kalii>

N应替换为数据集编号,(起始日期)替换为起始日期,(税率)替换为税率,(结束日期)替换为结束日期。如果由于数据错误或不明确而无法计算输出内容,只需打印<Kalii Index=N >BAD INPUT</Kalii>,其中N应替换为数据集编号。

注意:起始日期的格式为DDMMMYY。结束日期的格式为15MMMYY。其中DD是用零填充的当月日期(01 - 31),MMM是大写形式的月份(JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC),YY是用零填充的年份后两位数字(00 - 99)。

注意:税率应精确到小数点后三位。

输入数据1

25/8 508 12-31 6% 0211 0122 6.75% 2-11 4-23

输出数据1

<Kalii Index=1>
    <startdate>31DEC03</startdate>
    <rate>2.625</rate>
    <enddate>15MAY08</enddate>
</Kalii>
<Kalii Index=2>
    <startdate>22JAN04</startdate>
    <rate>6.000</rate>
    <enddate>15FEB11</enddate>
</Kalii>
<Kalii Index=3>BAD DATA</Kalii>

题目来源

大纽约地区2003年竞赛