三弃公子百度云:pascal题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 12:16:28
Web浏览(web.pas)
实现浏览器的页面前后访问机制。有四种命令:
1、 BACK;
2、 FORWARD;
3、 VISIT:访问新的页面;
4、 QUIT:退出浏览器。
请参考实际的浏览器按钮的功能。
假设浏览器打开时,显示的页面是:http://www.acm.org/

输入:web.in
一系列命令:以BACK、FORWARD、VISIT或QUIT开头。如果是VISIT,后面要跟URL,长度不超过70,且不含空格。
最后总是以QUIT结尾。

输出:web.out
对于每一个命令(除了QUIT),输出浏览页面的URL,如果命令被忽略,输出:Ignored。

样例:
输入:
VISIT http://acm.ashland.edu/
VISIT http://asm.baylor.edu/acmipc/
BACK
BACK
BACK
FORWARD
VISIT http://www.ibm.com/
BACK
BACK
FORWARD
FORWARD
FORWARD
QUIT
输出:
http://acm.ashland.edu/
http://asm.baylor.edu/acmipc/
http://acm.ashland.edu/
http://www.acm.org/
Ignored
http://acm.ashland.edu/
http://www.ibm.com/
http://acm.ashland.edu/
http://www.acm.org/
http://acm.ashland.edu/
http://www.ibm.com/
Ignored

bridging signals(signals.pas)
有一个二分图的完全匹配,二分图两个顶点集合大小相等。现在要从中取定尽量多的边,使得任意两条边都不相交。
输入:signals.in
第一行是整数p,p<40000,表示每个集合顶点个数。
接下来的p行,每行一个数,依次表示左边的点与哪一个右边的点连接。

输出:signals.out
一个整数,表示做多的边数。

样例
输入
6
4
2
6
3
1
5
输出
3

输入
10
2
3
4
5
6
7
8
9
10
1
输出
9

输入
8
8
7
6
5
4
3
2
1
输出
1

输入
9
5
8
9
2
3
1
7
4
6
输出
4

第一题:
Program web;
Const
inf='web.in';
outf='web.out';
Var
hos:Array[1..1000] Of String;
i,curr,maxcur:Longint;
c,c1:char;
s:String;
Begin
Assign(input,inf);
Assign(output,outf);
Reset(input);Rewrite(output);
curr:=1;
hos[1]:='http://www.acm.org/';
While True Do Begin
Read(c);
Case c Of
'V': Begin
For i:=1 to 5 Do Read(c1);
Readln(s);
curr:=curr+1;
maxcur:=curr;
hos[curr]:=s;
Writeln(s);
End;
'B': Begin
Readln(s);
If curr>1 Then Begin
Dec(curr);
Writeln(hos[curr])
End Else Begin
Writeln('Ignored');
End;
End;
'F': Begin
Readln(s);
If curr<maxcur Then Begin
Inc(curr);
Writeln(hos[curr]);
End Else Begin
Writeln('Ignored');
End;
End;
'Q': Break;
End;
End;
Close(input);Close(output);
End.
第二题请参考各种数据结构书