Bai Xau HSG tinh BinhDinh Khoi 11 (nam 2013-2014)

Chia sẻ bởi Lê Nguyên | Ngày 26/04/2019 | 40

Chia sẻ tài liệu: Bai Xau HSG tinh BinhDinh Khoi 11 (nam 2013-2014) thuộc Tin học 11

Nội dung tài liệu:

Bai 2: Diet Virus:
Mô tả: Virus là các đoạn mã được chèn vào chương trình. Không mất tính tổng quát, xem các tệp văn bản là một chương trình. Các đoạn mã Virus có thể chèn vào trong nội dung của chương trình nhiều dạng Virus khác nhau và có thể chèn nhiều lần. Viết chương trình để diệt Virus, với các đoạn mã virus biết trước.
Dữ liệu vào: Trong tệp Virus.inp:
- Dòng đầu tiên gồm 2 số: k và n;
+ k: là số đoạn mã các dạng virus biết trước;
+ n: là số dòng văn bản của tệp chương trình;
- k dòng tiếp theo là đoạn mã của các dạng virus;
- n dòng cuối là số dòng của tệp chương trình.
Dữ liệu ra:
- Dòng đầu là số virus đã diệt được.
- n dòng tiếp theo là số dòng của tệp chương trình sau khi đã diệt virus.

Virus.inp

Virus.out

4 3
ab12
cc333
e1d
hh21
hab12sg tiabcceabhh2abcc333121121d3ab123312n
binab12h dicab12c333nh
loccabccab1233312hhcc3e1hh2ab121d3321333p11

21
hsg tin
binh dinh
lop11


Chương trình tham khảo:

Program Bai2;
Uses Crt;
Const fi=`Virus.inp`;
fo=`Virus.out`;
Var i,j,k,n,d,c1,c2:byte;
f:Text;
a,b:Array[1..20] of String;
Begin
Assign(f,fi);
Reset(f);
Readln(f,k,n);
For i:=1 to k do
Readln(f,a[i]);
For j:=1 to n do
Readln(f,b[j]);
d:=1;c1:=0;c2:=0;
While dBegin
For i:=1 to n do
For j:=1 to k do
While pos(a[j],b[i])<>0 do
Begin
Delete(b[i],pos(a[j],b[i]),length(a[j]));
Inc(c1);
End;
For i:=1 to k do
For j:=1 to n do
While pos(a[i],b[j])<>0 do
Begin
Delete(b[j],pos(a[i],b[j]),length(a[i]));
Inc(c2);
End;
inc(d);
End;
Assign(f,fo);
Rewrite(f);
Writeln(f,c1+c2);
For i:=1 to n do
Writeln(f,b[i]);
Close(f);
End.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lê Nguyên
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)