题目名称 | 34. [POI 1999] 汇编电路 |
---|---|
输入输出 | ukl.in/out |
难度等级 | ★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 15 |
题目来源 | cqw 于2008-04-24加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:1, 提交:1, 通过率:100% | ||||
zhengtn03 | 100 | 0.042 s | 0.35 MiB | C++ |
本题关联比赛 | |||
2008haoi模拟训练4 |
关于 汇编电路 的近10条评论(全部评论) |
---|
Bytetel 公司决定改进他们生产的计算机。他们想用一种称为汇编电路的特殊系统来代替汇编程序。汇编程序由独立的作业。每个作业由四个元素组成:
我们假定最多只有 26 个寄存器。它们用小写英文字母表示。这有 4 个基本操作它们用大写字母 A, B, C, D 表示。
一个汇编电路有:
一个电路中有几个门。每一个门有两个输入和一个输出。一个门以它的输入完成一个基本操作并将结果送到它的输出端。一个门的输入端和电路的输出端都连接着其他门的输出端或者电路的输入端。一个门的输出端和电路的输入端可以连接着许多其他门的输入端或者电路的输出端。连接不可以连成圈。
一个汇编电路等价于一个汇编程序。汇编程序由寄存器的初始值产生的结果与汇编电路产生的结果相同。
写一个程序:
将结果写到输出文件 。
【输入格式】
在输入文件的第一行有一个整数 n(1 <= n < 1000) ,表示汇编程序的命令个数。
在接下来的 n 行中每行表示一条汇编命令。每一行都用四个字母来描述,第一个字母表示基本操作: A,B,C 或 D 。第二个和第三个字母(小写英文字母)表示寄存器的编号,表示输入数据的位置。第四个字母是寄存器的编号,表示结果存储的位置。
【输出格式】
在输出文件的第一行有一个整数,表示汇编电路所需门的个数。
【输入样例】
ukl.in
8
Afbc
Bfbd
Cddd
Bcbc
Afcc
Afbf
Cfbb
Dfdb
ukl.out
6
一个与题目中汇编程序等价的汇编电路的图形