logo AlgoBeat OnlineJudge
登录 注册

#10299. [BalticOI 1995] ifthenelse 编程语言

内存限制:1024 MiB 时间限制:180000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: AlgoBeat 官方账号

题目描述

早期题目时限较长,卡评测直接封号。

在编程语言 IFTHENELSE 中,每一行都以行号开头,并且只包含一条指令。
变量为整数类型,用小写字母作为标识符。

输入文件给出一个子程序(行数 ),该子程序计算一个整数值,且只包含以下两种语法的语句:

<行号> IF <变量>=<变量> THEN <行号> ELSE <行号>
<行号> RETURN(<整数>)

其中 RETURN 指令结束子程序执行,并返回该整数作为结果。

请找出该子程序所有可能的执行结果(返回值),每个结果只列出一次,并给出能够导致该结果的所有变量取值组合。

输入格式

输入文件包含若干行,每行一个语句,行号不一定连续。

输出格式

对于每个可能的结果,按以下格式输出:

结果值:
变量1=值1,变量2=值2,...

每个结果后可以有多个变量赋值行(每行一个变量的赋值组合)。
所有变量必须列出,即使未在程序中出现。
输出顺序不限。

(示例输出中,每个结果后只列出了一组变量赋值,但如果有多种组合,应全部列出。)

样例

样例输入 #1

11 IF a=b THEN 12 ELSE 15
12 IF b=c THEN 13 ELSE 15
13 IF a=c THEN 14 ELSE 16
14 RETURN(14)
15 RETURN(15)
16 RETURN(77)

样例输出 #1

14:
a=1,b=1,c=1
15:
a=1,b=2,c=3

(说明:结果为 14 时,变量 可全部取 1;结果为 15 时,可取 。注意其他未列出的变量(如 等)可任意取值,但题目要求列出所有变量,样例只列出了出现的变量。)