bzoj#P2921. [Poi1998]Assembler circuits
[Poi1998]Assembler circuits
题目描述
Bytetel 公司想改进它们生产的计算机,它们想用一些特殊的汇编电路门系统来替代汇编程序。汇编程序由许多单独的任务组成,每个任务有四个元素:
- 两个寄存器作为输入;
- 一个运算符;
- 一个寄存器作为输出。
我们假设最多有 个寄存器,分别用小写字母 表示。此外有四种运算,用大写字母 表示。
一个汇编电路包括:
- 输入端映射到寄存器,该寄存器的初值作为电路的输入;
- 输出端同样映射到寄存器,电路的输出作为给寄存器的值。
一个电路由许多门组成,每个门包括两个输入和一个输出,它将输入的值进行一个基本运算,并将结果输出。门的输入和整个电路的输出要么与其它门的输出端相连,要么和整个电路的输出端相连。门的输出和整个电路的输入要么与其它门的输入端相连,要么和整个电路的输出端相连。电路门之间不会形成回路。
如果一个电路门系统和一个汇编程序对于任意的输入,它们的输出都相同,那么我们就称它们是等效的。
你需要编写一个程序,计算最少要几个门可以组成与汇编程序等效的电路系统。
输入格式
第一行包含一个整数 ,表示汇编程序的指令数。以后 行每行包含 个字母表示一条指令,第一个字母为 中的一个,表示操作的类型,第二和第三个字母为小写字母,表示输入的寄存器,第四个字母也是小写字母,表示输出的寄存器。
输出格式
包含一个整数,表示与给汇编程序等效的电路门系统中最少需要几个电路门。
8
Afbc
Bfbd
Cddd
Bcbc
Afcc
AfbfCfbb
Dfdb
6
数据规模与约定
对于 的数据,。