#P1286. AAO

AAO

题目描述

小m是一个对古董电脑十分感兴趣的人,碰巧有一天他发现了一台不知道从哪里来的古董电脑。好奇心驱使着他打开电脑,他想要好好检查一番,但是这台电脑被设了密码。

​ 要想解开这台电脑的密码,小m需要写一个程序实现以下操作:对于一个1n1……n的排列,输入n1n-1个数求出缺失的数。例如n=5时的排列为:1,2,3,4,51,2,3,4,5,如果给出的4个数为1,2,4,51,2,4,5,那么程序应该输出33。但是天将降大任于斯人也,事情往往不会这么简单,古董电脑只能识别一种江湖中失传已久的编程语言。

​ 就在小m痛心疾首,鬼哭狼嚎之际,小n发现电脑主机后面贴了一张标签,开篇三个镶金大字AAO。将其中所描述的语言与主机对比,发现AAO正是古董电脑所支持的编程语言。标签现代化地描述了AAO的基本语句,小m几分钟就学会并写出了程序。

注:说明文档中,加粗语句为代码语句,如: Initial。斜体语句为变量名称,如params。其它为解释语句,如: DO SOMETHING。注意AAO并不支持注释 </font>


变量的声明

Initial params //params=0

//DO SOMETHING

Yes, BangDream

变量的声明规则

params只能是正整数或者小写英文字母的组合

变量的运算

AAO语言要求对于变量params的修改,只能在Initial paramsYes, 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代码放到这里即可 
 
)"; 

输入格式

第一行输入一个正整数nnnn不超过100100

第二行输入n1n-1个正整数,代表现在的排列

输出格式

一个正整数,序列正好缺失的数

样例

5 
3 5 4 2
1

提示

AAO语言还自带了几种示例(详情见本地a+b.aaoprefix.aao) 例如输入两个正整数求他们的和a+b.aao 输入: 2 32~3 输出: 55 例如求1n1……n的和prefix.aao 输入: 100100 输出: 50505050 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