匀称图形的测试数据, 建议修改标准.
http://softwarecontests-zho.intel.com/threadingchallenge/
图形是由一组节点(或顶点)和一组边组成的结构;每条边连接两个节点,并由这两个节点确定。Solomon W. Golomb 创造了“匀称图 (graceful graph)”一词,来指代可以“ 以匀称比例编号”的任何图形。本月的问题是:输入一个图形,确定该输入是否为匀称图;如果是,则输出图形节点和边的匀称编号。
图形的匀称编号具有以下属性:
每个节点都标有一个独特的非负整数
每条边都标有节点标签之差的绝对值
边的编号必须是介于 1 和总边数之间的唯一值
某些匀称图采用单个节点编号方式,有些可能采用多个节点编号方式。您的程序只需要列出节点和边的一种匀称编号方式。
关于输入文件的描述:在应用程序开始执行后,将输入文件的名称以命令行参数的形式赋予应用程序。该文件包括许多行,其中含有图形中要分析和标记的边。输入节点用两个介于“A”到“Z”之间的大写字母表示。一个输入行包含四个大写字母,第一、二个字母表示第一 个节点,第三、四个字母表示另一个节点,从而确定相应边。“文件结束”表示图形输入结束。
输出:输出采用标准输出形式。应当有相应说明指出输入图形是不是匀称图;如果是,则提供节点的匀称编号和边的相关标签。匀称图的节点应当按照节点名称以升序输出;边应当按照边标签以升序输出(不需要输出与输入时一样的边名称)。
输入示例:(包括四个节点的完整图形)
AABB
AAKK
AAZZ
ZZBB
BBKK
KKZZ
输出示例:
此图采用匀称编号方式。
节点:
AA 0
BB 6
KK 4
ZZ 1
边:
AAZZ 1
BBKK 2
KKZZ 3
AAKK 4
BBZZ 5
AABB 6
计时:如果不想将 I/O 时间记入应用程序执行时间,则应包括具有以下作用的计时函数调用:当读取输入文件后立即启动,在开始打印最终结果(和内部执行时间)前一刻停止。否则,裁判将使用时钟时间。
一组测试数据
AABB
BBCC
CCDD
DDEE
EEAA
AAFF
BBGG
CCHH
DDII
EEJJ
FFHH
HHJJ
JJGG
GGII
IIFF
共10080种填值方案
另外一组测试数据
AAAB
AAAC
AAAD
AAAE
AAAJ
AAAK
ABAC
ABAD
ABAF
ABAG
ABAH
ACAF
ACAH
ACAJ
ACAK
ADAE
ADAG
ADAI
ADAJ
ADAK
ADAL
AEAH
AEAJ
AFAH
AFAI
AFAL
AGAH
AGAJ
AGAL
AHAI
AHAK
AIAJ
AIAK
AIAL
AJAK
AKAL
无法计算填值方案种数