#P1286. AAO
AAO
题目描述
小m是一个对古董电脑十分感兴趣的人,碰巧有一天他发现了一台不知道从哪里来的古董电脑。好奇心驱使着他打开电脑,他想要好好检查一番,但是这台电脑被设了密码。
要想解开这台电脑的密码,小m需要写一个程序实现以下操作:对于一个的排列,输入个数求出缺失的数。例如n=5时的排列为:,如果给出的4个数为,那么程序应该输出。但是天将降大任于斯人也,事情往往不会这么简单,古董电脑只能识别一种江湖中失传已久的编程语言。
就在小m痛心疾首,鬼哭狼嚎之际,小n发现电脑主机后面贴了一张标签,开篇三个镶金大字AAO。将其中所描述的语言与主机对比,发现AAO正是古董电脑所支持的编程语言。标签现代化地描述了AAO的基本语句,小m几分钟就学会并写出了程序。
注:说明文档中,加粗语句为代码语句,如: Initial。斜体语句为变量名称,如params。其它为解释语句,如: DO SOMETHING。注意AAO并不支持注释 </font>
变量的声明
Initial params //params=0
//DO SOMETHING
Yes, BangDream
变量的声明规则
params只能是正整数或者小写英文字母的组合
变量的运算
AAO语言要求对于变量params的修改,只能在Initial params和Yes, BangDream之间书写,例如:
Initial param1
ROKIROKIROLL param2
Yes, BangDream
解释为,修改param1的值,让param1=param1+param2
加法
ROKIROKIROLL params
减法
Please don't say "You are lazy" params
乘法
kirakiradokidoki params
除法
shiranai params
循环语句
A to Z! A to Z! params //begin loop, until params = 0
//DO SOMETHING
tenkao //end loop
输入输出语句
输入语句
Hey, Y.O.L.O!!!!! params
输出语句
go go go for it! params
因为我们没法直接提交一份文本,需要同学们把每一行语言用C++或者Java输出出来,例如:
printf(“Initial n\
”);
printf(“Yes, BangDream\
”);
printf(“...........\
”);
etc.
或者可以直接用C++11的std::cout<<R"()";
例如你可以这样:
std::cout<<R"(
//把你的aao代码放到这里即可
)";
输入格式
第一行输入一个正整数,不超过
第二行输入个正整数,代表现在的排列
输出格式
一个正整数,序列正好缺失的数
样例
5
3 5 4 2
1
提示
AAO语言还自带了几种示例(详情见本地a+b.aao
和prefix.aao
)
例如输入两个正整数求他们的和a+b.aao
输入:
输出:
例如求的和prefix.aao
输入:
输出:
a+b.aao
Initial a
Yes, BangDream
Initial b
Yes, BangDream
Hey, Y.O.L.O!!!!! a
Hey, Y.O.L.O!!!!! b
Initial a
ROKIROKIROLL b
Yes, BangDream
go go go for it! a
prefix.aao
Initial n
Yes, BangDream
Initial sum
Yes, BangDream
Hey, Y.O.L.O!!!!! n
A to Z! A to Z! n
Initial sum
ROKIROKIROLL n
Yes, BangDream
Initial n
Please don't say "You are lazy" 1
Yes, BangDream
tenkao
go go go for it! sum