THI TH S 10
Bi 1. (7 im) Hình xoắn ốc . Nhập số tự nhiên N , tạo bảng
vuông NxN các số 1,2,3,....N2 theo hình xoắn ốc
2
3
4
5
1
6
1
7
1
8
1
9
6
1
5
2
4
2
5
2
0
7
1
4
2
3
2
2
2
1
8
1
3
1
2
1
1
1
0
9
1
Bi 2. (8 điểm) Cho N số nguyên dương a1, a2, ..., an. Từ các số nguyên này ta co
thể tạo ra một số nguyên mới bằng cách viết tất cả các số đã cho liên tiếp nhau.
Ví dụ: Với N=3, các số 10, 7, 62 ta co thể tạo ra các số mới như sau: 10762, 10627,
71062, 76210, 62107, 62710. Co tất cả N! Số tạo ra. Trong trường hợp này, số lớn nhất là
76210.
Yêu cầu: Cho N số nguyên a1, a2, ..., an. Hãy xác định số lớn nhất co thể tạo
thành theo nguyên tắc trên.
Dữ liệu vào:
- Dòng 1: Số nguyên N ( 1 ≤ N ≤ 105)
- Dòng 2: Chứa N số nguyên a1, a2, ..., an ( 0 ≤ ai ≤ 10, 1 ≤ i ≤ N)
Dữ liệu ra: Số lớn nhất kết nối từ N số nguyên đã cho.
Ví dụ:
Dữ liệu vào
Kết qua
5
98321
13289
4
75613412
12 134 7 56
Bài 3 (5 điểm) xếp hàng
Lớp 9A co N bạn học sinh (n<=50), mỗi bạn được gắn với mợt mã sớ bất
kì. Trong buổi đồng diễn thể dục N bạn được xếp thành một hàng dọc theo thứ
tự từ nhỏ đến lớn của mã sớ. Để đợi hình toàn trường cân đới thầy giáo chủn
mợt bạn lớp khác vào vị trí trong hàng co mã sớ là K vào đợi hình lớp 9A. Em
hãy giúp thầy giáo xếp bạn co mã số K vào vị trí trong hàng sao cho khơng làm
xáo trợn đợi hình đã được sắp xếp mà vẫn đảm bảo nguyên tắc xếp hàng đã noi
trên. Hãy viết chương trình để thực hiện cơng việc đó.
Dữ liệu vào: cho file text XEPHANG.INP co 2 dòng, trong đo:
-Dòng đầu :ghi hai số N và K
-Dòng thứ hai ghi các mã số của mỗi học sinh viết cách nhau ít nhất mợt
dấu cách.
Kết qua ra: ghi ra file text XEPHANG.OUT gồm hai dòng
-Dòng mợt: ghi vị trí xếp bạn mã sớ K vào hàng
-Dòng hai: hàng được xếp
Ví dụ
Xephang.inp
Xephang.out
73
2
2 4 5 7 8 9 12
2 3 4 5 7 8 9 12
HƯỚNG DẪN ĐỀ THI THỬ SỐ 10
Bài 1.
Program hinh_xoan_oc;
Uses crt;
Var i,j,k,t,s,n: integer;
Begin
clrscr;
write('Nhap n: '); readln(n);
i:=1; j:=0;
s:=n; t:=1; k:=0;
for k:=1 to n*n do
begin
case t of
1 : j:=j+1;
2 : i:=i+1;
3 : j:=j-1;
4 : i:=i-1;
end;
gotoxy(j*3,i+2);
write(k);
if k=s then
begin
writeln;
n:=n-(t mod 2);
t:=t+1;
s:=s+n;
if t=5 then t:=1;
end;
end;
readln
end.
Bai 2.
program ghep_so_l0n_nhat;
uses crt;
type mangxau=array[1..10000] of string;
var i,j,max,n: longint; a : mangxau;
procedure sx(var a:mangxau);
var i,j:integer; tam:string;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]
begin
tam:=a[i]; a[i]:=a[j]; a[j]:=tam;
end;
end;
function kt(var s1,s2:string):boolean;
var i:byte;tam:string;
begin
i:=1; while s1[i]=s2[i] do inc(i);
tam:=copy(s1,i,length(s1)-i+1);
if tam<>'' then
begin
if tam<=s2 then
kt:=true
else
kt:=false;
end;
end;
procedure dc(var s1,s2:string);
var tg:string;
begin
tg:=s1; s1:=s2; s2:=tg;
end;
begin
clrscr;
write('nhap n= ');readln(n);
for i:=1 to n do
begin
Write('A[',i,']:'); readln(A[i]);
end;
sx(a);
write('day vua sap xep ');
for i:=1 to n do
write(a[i],' ');
writeln;
write('cac pt doi cho');
for i:=1 to n-1 do
for j:=i+1 to n do
if kt(a[i],a[j]) then
begin
dc(a[i],a[j]);
writeln(a[i],' ',a[j]);
end;
writeln(' day thu duoc');
for i:=1 to n do
write(a[i]);
readln
end.
Bai 3. Thuat toan: