题目名称 | 295. [NOI 2000]程序分析器 |
---|---|
输入输出 | analyser.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | BYVoid 于2009-03-09加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:18, 提交:53, 通过率:33.96% | ||||
Phosphorus15 | 100 | 0.000 s | 0.00 MiB | C++ |
Phosphorus15 | 100 | 0.007 s | 0.34 MiB | C++ |
QWERTIer | 100 | 0.012 s | 0.38 MiB | C++ |
Lethur | 100 | 0.025 s | 0.38 MiB | C++ |
Lunatic | 100 | 0.033 s | 0.20 MiB | Pascal |
Phosphorus15 | 100 | 0.046 s | 0.38 MiB | C++ |
david942j | 100 | 0.087 s | 0.33 MiB | C++ |
c3705 | 100 | 0.164 s | 0.30 MiB | C++ |
devil | 100 | 0.173 s | 0.30 MiB | C++ |
BYVoid | 100 | 0.225 s | 0.27 MiB | C++ |
本题关联比赛 | |||
20100925练习 |
关于 程序分析器 的近10条评论(全部评论) | ||||
---|---|---|---|---|
为什么有重行?为什么go语句后面有0?数据貌似有问题吧。最后一个点Cheat过的。
|
Tiny Basm语言(简称为TB语言)的巴科斯-瑙尔范式(BNF)为:
注:其中“::=”表示定义为,“|”表示或,{}内的项可以重复任意多次或不出现,“[Space]”表示空格(一个字符,ASCII码为32),“[CrLf]”表示回车/换行(两个字符,ASCII码分别为13和10)。
错误语句示例(在输入文件中不会出现任何错误语句): 10[Space]A+1.5 (不符合累加语句的定义,所加的不是整数) 20[Space]A[Space]? (不符合输出语句的定义,多加了一个空格) 30[Space]IF[Space]A=B[Space]GO[Space]10 (不符合条件语句的定义,不应变量=变量)
TB程序的执行:
请编程,对于给定的TB语言程序P,求该程序所执行的语句数(执行条件语句不论是否成功转移,仅记为执行一条语句)。
[输入文件]
[输出文件]
[输入输出文件样例] Input
10 A+1 20 IF A=5 GO 60 60 END 30 A+2 40 A? 50 GO 20
Output
11
[样例说明] 执行语句行号按顺序为 10->20->30->40->50->20->30->40->50->20->60 共11条语句被执行。