//又是一道ZZ题(我咋怎么愿意写这种题)
题目描述 Description
一个电子表格是一个矩阵,其中的元素可以是数也可以是表达式,表达式可以通过赋值而成为数。一个简单的电子表格,其中的数是整数,表达式是由不同的整数、元素的标示符及" + + +"," − - −"组成。对任一个表达式,若要求用数表示,则可用赋值以后的数值代替。编程任务:对简单的电子表格进行赋值。
输入 Input
输入数据由文件名为excel.in的文本文件提供。
第一行由 2 2 2个数据 N 、 M N、M N、M,表示矩阵由 N N N行、 M M M列组成
列的标示从大写字母 A A A到 T T T,行的标示从数字 1 1 1到 255 255 255,如:第一列第一行的元素用 A 1 A1 A1表示,第 20 20 20列第五行的元素用 T 5 T5 T5表示。
接下来的 N N N行每行有 M M M个元素,每一个元素包含一个有符号的整数或一个表达式,表达式中没有空格。
//(这段是自己加的)输入提示
1.一个单元格中需要其他单元格元素的个数不多于 500 500 500
2." + 1 +1 +1"为正规表达式
输出 Output
对每一个输入的电子表格,你必须求出每一个表达式的值。若元素包含循环的表达式,则在输出中应在这些单元打印"ERROR"(不能使用小写)。将求值后的电子表格输出到文件excel.out中。
样例输入 Sample Input
4 4
1 2 A1+B1 6
3 5 A2+D2 7
4 C1+A3 11 8
9 A4+A1 C2+B4 10
样例输出 Sample Output
4 4
1 2 3 6
3 5 10 7
4 7 11 8
9 10 20 10
限制 Limits
Time Limit : 1 s 1s 1s & Memory Limit : 128 M B 128MB 128MB
为什么不直接复制到Excel里算呢…(智力
−
2
-2
−2)
一个单元格中可能需要其他单元格中的元素,所以是有顺序的,把一个单元格看成一个点,把该单元格与需要的单元格连上边,就构成了拓扑图…
记录已经算完的workout数组和访问到的vis数组,如果在dfs中发现这个点被访问却没有算出来,就证明出现了环,果断ERROR
但是这模拟好恶心啊…
压空间好恶心啊…
不给数据完全不知道那个输入提示啊…
上代码
Code