拯救世界-程序设计
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
描述
由于各个部分的工作是分开的,当需要将最终的结果进行上报,你需要设计一个数据结构,来处理这些工作。
1. var=malloc(size);此函数用以寻找排在最前面的连续size个空闲存储单元(1≤size≤100,000),并对它们进行分配。此函数的返回值var是找到的存储单元中编号最小的一个单元的编号,如果没有符合要求的连续空闲存储单元,则返回0。
2. free(var); 该函数将之前因为执行malloc函数而被分配的存储单元清空,并将变量var的值置为0;如果var已经是0,则不作任何改变。
3. print(var); 用以输出变量var的值。
格式
输入格式
第一行是一个命令数N
接下来N行有N个命令
输出格式
输出的行数等于print命令的个数,按照N的命令的执行顺序依次输出。
样例1
样例输入1
12
aaaa=malloc(5);
bbbb=malloc(6);
cccc=malloc(8);
print(bbbb);
free(bbbb);
dddd=malloc(3);
eeee=malloc(4);
print(aaaa);
print(bbbb);
print(cccc);
print(dddd);
print(eeee);
样例输出1
6
1
0
12
6
20
限制
1s出解。
提示
数据所占用的内存由100,000个连续的存储单元排列而成,这些单元从1到100,000编号。开始时所有存储单元均空闲。