#P1302. Blue Gene, Jr.

Blue Gene, Jr.

描述

受 IBM 的 “蓝色基因” 项目启发,环球生物机械公司(UBM)的首席执行官要求你,作为 UBM 的顶级软件工程师,开发一个程序,用于计算亚略巴古病毒(Areopagus-virus)的变异情况。这种病毒是由贵公司私人资助(绝密)的太空项目在火星上发现的。

输入

这个问题的输入将由一系列(非空)最多100 100 个数据集组成。每个数据集将按照以下描述进行格式化,并且数据集之间不会有空白行。

单个数据集包含 33 个部分:

  1. 起始行 —— 一行内容为 “START N”,其中1<=N<=20 1 <= N <= 20
  2. 病毒代码 —— 由N N 个字母数字字符组成的序列。字母数字字符包括大写字母AZ(A-Z)或数字09(0-9)
  3. 结束行 —— 一行内容为 “END”。

在最后一个数据集之后将有一行内容为 “ENDOFINPUT”。

输出

对于每个数据集,将恰好有一个输出集,并且输出集之间不会有空白行。

单个输出集由一行经过稳定(通过变异)后的病毒代码组成。

病毒代码将根据以下规则进行变异:

  1. 最初,第一个发生变异的病毒片段从病毒代码的第一个字母数字字符开始,到代码的最右边的字母数字字符结束。
  2. 如果病毒片段的第一个字母数字字符是一个字母AZ(A-Z),那么这个字母数字字符被认为是 “不稳定的”,它将变异为n n,其中 nn 是紧邻这个不稳定字母数字字符右边的病毒片段发生变异的次数(见第5 5 点),除非n n 大于9 9,在这种情况下,这个不稳定的字母数字字符将变异为 nn % 10。此外,如果在这个不稳定字母数字字符的右边没有紧邻的病毒片段,那么这个不稳定的字母数字字符将变异为0 0
  3. 如果病毒片段的第一个字母数字字符 n n 是一个正数19(1-9),那么这个字母数字字符也被认为是 “不稳定的”,它将变异为 n1n - 1。它还会导致从其右边第 n n 个字母数字字符开始、到病毒代码最右边的字母数字字符结束的病毒片段发生变异。如果在其右边没有第 n n 个字母数字字符,那么紧邻其右边的病毒片段(见第 5 5 点),如果存在的话,将会发生变异。
  4. 如果病毒片段的第一个字母数字字符是 0 0 ,那么这个字母数字字符被认为是 “稳定的”,并且不会发生变异(这个字母数字字符将保持为 0 0 ,并且不认为发生了变异)。
  5. 紧邻一个字母数字字符右边的病毒片段从该字符右边一个位置的字母数字字符开始,到病毒代码最右边的字母数字字符结束。

输入示例

START 1
A
END
START 4
A1B2
END
START 15
A3B2CCC4AD1232R
END
START 15
0ABCDEFGHIJKLMN
END
START 11
ABCDEFGHIJK
END
START 10
9AAAAAAAAA
END
ENDOFINPUT

输出示例

0
3011
82B26543AD11310
0ABCDEFGHIJKLMN
09876543210
8AAAAAAAA0

来源

美国中南部 2002 年