Ôn tập chương Cấu trúc và bảo mật các hệ cơ sở dữ liệu

Minh Thư Đoàn Nguyễn

Truy vấn 3

Tên file chương trình truyvan3.*

Cho một dãy A gồm n số tự nhiên a1, a2, …, an có giá trị từ 1 đến n, dãy B gồm n số tự nhiên b1, b2, …, bn có giá trị từ n+1 đến 2n. Dãy C gồm nn số được hình thành từ dãy A và B như sau:

c11=a1+b1, c12 = a1+b2, …, c21 = a2+b1, c22 = a2+b2, …, cnn = an+bn

Yêu cầu: có k truy vấn, mỗi truy vấn là một số nguyên dương q yêu cầu xác định xem có bao giá trị bằng q trong dãy C.

Dữ liệu vào: Cho trong file văn bản TRUYVAN3.INP có cấu trúc như sau:

➢ Dòng đầu ghi 2 số nguyên dương n và k (n ≤ 109 , k ≤ 104 ).

➢ k dòng tiếp theo mỗi dòng ghi 1 số nguyên dương q cho biết các truy vấn (q ≤ 3n). Kết quả: Ghi ra file văn bản TRUYVAN3.OUT gồm k dòng, mỗi dòng là kết quả của một truy vấn tương ứng.

Trần Minh Hoàng
7 tháng 8 2020 lúc 22:54

Làm tạm :v

var n,k,i,j,dem:integer;
q,k2:Array[1..104] of integer;
C:Array[1..109] of integer;

begin
assign(input,'truyvan3.inp');
reset(input);
readln(n,k);
for i:=1 to k do read(q[i]);
close(input);

assign(output,'truyvan3.out');
rewrite(output);
for i:=1 to n do C[i]:=2*i+n;
for j:=1 to k do
begin
dem:=0;
for i:=1 to n do if C[i]=q[j] then dem:=dem+1;
k2[j]:=dem;
end;
for j:=1 to k do writeln(k2[j]);
close(output)
end.

Bình luận (0)

Các câu hỏi tương tự
Thùy Anh
Xem chi tiết
Nguyễn Thị Mỹ Nữ
Xem chi tiết
Đức Hải
Xem chi tiết
NT Phú
Xem chi tiết
Lâm Việt Quang
Xem chi tiết
Nguyễn
Xem chi tiết
Nguyễn
Xem chi tiết
Lê Anh Tuấn
Xem chi tiết
Lê Anh Tuấn
Xem chi tiết