题目: | 银行取款 | |
来源: | Tyvj 1133 | |
题目大意: | 输入中包含I(表示等待办理业务)和顾客的序号;或者 O(表示办理完业务的人离 开)输出银行排队中出队顾客序列,若队列为空(没人等待),则输出“None” | |
数据范围: | 输入数据不超过100行 | |
样例: | O I 1 I 2 O I 3 O O O | None 1 2 3 None |
做题思路: | 队列操作,I就尾加1并存进去,O就输出一个或者输出没人然后头加1 | |
知识点: | 队列 |
var
ch:char;
h,t,k:longint;
q:array[1..10000] of longint;
begin
h:=1;t:=0;
while not(eof) do
begin
read(ch);
ifch='O' then
begin
if h<=t then
begin
writeln(q[h]);
inc(h);
end
else writeln('None');
end
else
if ch='I' then
begin
read(k);
t:=t+1;
q[t]:=k;
end;
end;
end.
题目来源:
http://www.tyvj.cn:8080/Problem_Show.asp?id=1133