PDA

View Full Version : TIN HỌC 11(các bạn lớp 11 vào đây để xem có BT mình định hỏi chưa nha )



Pages : 1 [2]

huhubenho96
10-08-2011, 15:28
Nói như mấy bạn thì nói làm gì. Mình làm xong rồi nhưng khi test thì sai kết quả khác. Mình rẽ phải quá k lần. Các bạn giúp mình cho xin cái code

ngoc th
12-08-2011, 21:11
Cần thêm 1 mảng nữa là tại mỗi bước đi lưu số lần rẽ phải được phép đi tiếp(cứ tạm gọi là mảng k)
tại vị trí (u,v)<>(n,m) mà k(u,v)=0 thì quay lại

ngoc th
12-08-2011, 21:13
Nói là loang cho nhanh!
loang và BFS là khác nhau đấy

ThangA3
14-08-2011, 10:36
mình lại làm thế này.
dùng dijstra ngược từ đỉnh đích để lấy mảng c(i,j) là time đi ít nhất để đi từ (i,j) đến đỉnh đích.
sau đó dùng thuật quay lui với nhánh cận: xét các đỉnh từ đỉnh bắt đầu => đích.
đi đến đỉnh (i,j), đã đi mất d time, t lần rẽ phải.
nếu đỉnh (i,j) tịt ko đi tiếp đc hoặc
nếu d+c(i,j) >= đưởng đi tốt nhất hiện thời thì ko cần duyệt tiếp (quay lui).
nếu t=K thì cũng thế.
mình tổ chức danh sách kề ( cái kiểu mà bản ghi có con trỏ ấy ) cho quá trình duyệt đc nhanh hơn.

haplinhavxt
14-08-2011, 10:48
Bài này dễ thôi, chỉ hơi lăng nhằng 1 tí. Hôm nào tôi post code lên coi!

auauau97
14-08-2011, 12:36
Bài này dễ thôi, chỉ hơi lăng nhằng 1 tí. Hôm nào tôi post code lên coi!
Nếu post code thì bạn nhớ post luôn cả thuật toán cho dễ hiểu nhá !

ngoc th
14-08-2011, 14:22
Bài này dễ thôi, chỉ hơi lăng nhằng 1 tí. Hôm nào tôi post code lên coi!
dọa người ta à?!
đã "dễ" lại còn "lằng nhằng", "post code" lại còn "hôm nào"
:p

ngoc th
18-08-2011, 19:22
chuyển chủ đề đi các bạn ơi!
mà auauau97 đừng có "like" hoài như vậy chứ!!!

auauau97
19-08-2011, 13:15
chuyển chủ đề đi các bạn ơi!
mà auauau97 đừng có "like" hoài như vậy chứ!!!
like hay mà !
có nút like để like mà !

HGMinh95
19-08-2011, 13:45
Nhưng sao bài nào bạn cũng like thế??

auauau97
19-08-2011, 17:07
Nhưng sao bài nào bạn cũng like thế??
Mình thích thì ấn like thôi mà !
tại giờ ddth mới có nút like, ấn bù những lần trước chưa ấn thanks !

haplinhavxt
19-08-2011, 20:35
dọa người ta à?!
đã "dễ" lại còn "lằng nhằng", "post code" lại còn "hôm nào"
:p
Tư tưởng dễ nhưng code lằng nhằng được chưa bạn! Còn hôm nào là do tôi chưa tìm thấy bài này trong đống code mà tôi đã gõ! Hôm nào tình cờ nghịch linh tinh lại tìm ra thì sao? =)) Còn tôi ko thích dọa người!

ngoc th
20-08-2011, 10:56
Tư tưởng dễ nhưng code lằng nhằng được chưa bạn! Còn hôm nào là do tôi chưa tìm thấy bài này trong đống code mà tôi đã gõ! Hôm nào tình cờ nghịch linh tinh lại tìm ra thì sao? =)) Còn tôi ko thích dọa người!
sao nặng lời thế!!! hix
chuyển chủ để, chuyển chủ đề!!!
ai có cái đề nào vui lòng post lên cái kẻo ddth lại thành "quán gió" :))

Farmer_Boy
20-08-2011, 21:01
Nói chung chung vậy không biết đâu mà lần

votakhanh
26-08-2011, 09:26
xác định thuật toán tính diện tích hình thang. mình ngu tin lắm mà bài thầy ra thì chưa làm.

votakhanh
26-08-2011, 09:37
Mấy bạn giúp mình nha. xác định thuật toan tính diện tích hình thang. mình cảm ơn các bạn trước nha !!

auauau97
26-08-2011, 12:45
đây là bài tính S hình thang:


Uses crt;
Var
a,b,h:integer;
s:real;
Begin
Clrscr;
Write('Nhap do dai day lon hinh thang:');
Readln(a);
Write('Nhap do dai day nho hinh thang:');
Readln(b);
Write('Nhap do dai duong cao hinh thang:');
Readln(h);
s:=((a+b)*h)/2;
Write('DIen tich hinh thang la:',s);
Readln;
End.

batai04
31-08-2011, 13:43
cho day so nguyen gom n so tim day khong giam dai nhat va in ra day do

batai04
31-08-2011, 13:43
? mn tra loi giup em nha

ngoc th
31-08-2011, 17:07
QHĐ tạo a = mảng [0..maxN+1] of integer, a[n+1] = 0
số thứ n+1 gán bằng maxint, số thứ 0 gán bằng -maxint
duyệt ngược từ số thứ n về 0
nếu số thứ i < số thứ j (i<j) thì a[i] := a[j] + 1;
kết quả là a[0]

haplinhavxt
03-09-2011, 11:48
Bài post cách đây cả tuần rồi mà còn lên spam! =))

ngoc th
18-09-2011, 21:58
chán quá!!! mọi người không còn gì để hỏi nữa à?!

thecuong064
19-09-2011, 11:08
chán quá!!! mọi người không còn gì để hỏi nữa à?!
Thì bạn ấy muốn hỏi cái nào thì hỏi chứ

vanban1
17-11-2011, 15:59
ô hay quá, lại có chỗ để hỏi bài hé hé

ngoc th
21-11-2011, 17:57
đang chán chết nè!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

sypro123
18-01-2012, 09:14
1] in ra màn hình số có 3 chữ số biết rằng số đó chia hết cho 6 dư 2 và tổng các số của nó là 20
2]in ra màn hình cách đổi tiền 100 ngàn từ 3 loại tiền 50 ngàn 20 ngàn 10 ngàn?
câu 1 dùng for do câu 2 while do

auauau97
20-01-2012, 17:33
1] in ra màn hình số có 3 chữ số biết rằng số đó chia hết cho 6 dư 2 và tổng các số của nó là 20
2]in ra màn hình cách đổi tiền 100 ngàn từ 3 loại tiền 50 ngàn 20 ngàn 10 ngàn?
câu 1 dùng for do câu 2 while do
câu 1:
thì dùng


for i:=1 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
if (i+j+k=20) and (((100*i+10*j+k)-2) mod 6=0) then
writeln(100*i+10*j+k);

HGMinh95
20-01-2012, 22:36
Câu 2 thì bạn dùng 3 vòng for do như sau:


for i:= 0 to 2 do
for j:= 0 to 5 do
for k:= 0 to 10 do
if 5*i + 2*j + k = 10 then writeln(i,' ', j,' ',k);

huycb36k
10-02-2012, 19:49
Cho mình hỏi dùng câu lệnh nào để tìm được ố nguyên tố lớn nhất trong mảng?

superhacker_97
15-02-2012, 16:01
max:=0;
for i:=1 to n do
begin
kt:=false;
for j:=1 to a[i] do
if a[i] mod j =0 then d:=d+1;
if d=2 then kt:=true;
if (kt=true) and (a[i]>max) then
max:=a[i];
end;
write('so nguyen to lon nhat trong mang la:',max);
-----------------------------------------------------
moi nguoi xem ho em voi xem dung ko?

buinhutho
15-02-2012, 21:49
Mọi người vào giúp mình mấy bài này với, mình cần gấp lắm rồi mà ko biết làm thế nào:
1. Viết ct đưa ra các nguyên âm trong tiếng anh và đếm xem có tất cả bao nhiêu nguyên âm trong xâu vừa nhập.
2. Nhập vào 1 xâu kí tự, xóa bỏ tất cả các khoảng trắng đầu xâu, cuối xâu và tất cả các khoảng trắng thừa giữa 2 từ có từ 2 khoảng trắng trở lên.

superhacker_97
16-02-2012, 14:29
bai 1 :
uses crt;
var kt:array[1..5] of boolean;
st:string;
i:integer;
begin
clrscr;
write('moi nhap vao xau ky tu:');readln(st);
for i:=1 to 5 do
kt[i]:=false;
for i:=1 to length(st) do
begin
if st[i]='u' then kt[1]:=true;
if st[i]='e' then kt[2]:=true;
if st[i]='o' then kt[3]:=true;
if st[i]='a' then kt[4]:=true;
if st[i]='i' then kt[5]:=true;
end;
write('cac nguyen am xuat hien trong xau la:');
if kt[1]=true then write('u':4);
if kt[2]=true then write('e':4);
if kt[3]=true then write('o':4);
if kt[4]=true then write('a':4);
if kt[5]=true then write('i':4);
readln;
end.

ngoc th
24-02-2012, 22:57
tại sao từ trang 25 đến trang 28 lại bị lặp lại nhỉ?!

hanah_anna95
25-02-2012, 22:43
giúp nhanh (bài tập KHÓ T2 phải nộp)
1)
a/nhập mảng một chiều các vé xem phim(tên kiểu,bảng ghi: vé ) biết rằng 1 vé xem phim gồm tên phim (chuỗi tối đa 20 kí tự,giá tiền kiểu số nguyên:4 byte longint) xuất chiếu và ngày xem đều là kí tự chuỗi:20 kí tự

b/xuất các thành phần của mảng
c/tính tổng giá tiền của tất cả các vé trên mảng
d/sắp xếp các phần tử trong mảng tăng dần theo giá tiền

2
a/nhập mảng một chiều các lớp học .biết rằng 1 lớp học gồm tp:tên lớp:chuỗi 30 kí tự,sĩ số kiểu số nguyên 2 byte

b/xuất mảng

c/tìm tên lớp có sĩ số đông nhất

3 nhập mảng một chiều các đại lí biết rằng 1 đại lí gồm tp mảng đại lí:chuỗi,tên đại lí:chuỗi đại lý integer-4 byte

b/xuất mảng

c/tìm một đại lý theo tên đại lý

ngoc th
27-02-2012, 20:51
haizzz! do cái topic này ít người vào nên mình cũng 2 3 hôm mới ghé qua 1 lần!!!
có j gấp quá, add nick huynhhoatrungtuongvong95 của mình vào! nếu giúp được sẽ giúp nhá mọi người

ngoc th
05-03-2012, 15:22
cho mọi người có bài làm : cho dãy số 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,....
nhập vào số m,n(m<=n<=100000);
in ra tổng a[m]+...+a[n]
:D

HGMinh95
11-03-2012, 16:28
cho mọi người có bài làm : cho dãy số 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,....
nhập vào số m,n(m<=n<=100000);
in ra tổng a[m]+...+a[n]
:DBài này chắc duyệt cũng ra :D

ngoc th
13-03-2012, 15:31
uhm, duyệt thôi! nhưng mỗi test chỉ trong 1s thôi đó nhá!

auauau97
18-03-2012, 15:11
uhm, duyệt thôi! nhưng mỗi test chỉ trong 1s thôi đó nhá!
for duyệt thì chắc không tới 1s đâu, mất thời gian in ra là chủ yếu thôi :D
lớn nhất là 100000 thôi mà

ngoc th
19-03-2012, 00:09
chả có nhẽ bài siêu củ chuối tương vào đây cho cắn răng luôn!
được! thuật toán?
nếu hay sẽ có thưởng đó là ... like! :)

newdiamond
20-03-2012, 20:55
cho mình hỏi cái, mấy cái xâu này khó quá
1/ viết công thức tách 1 chuỗi con từ chuỗi bất kì được nhập từ bàn phím với yêu cầu nhập số chỉ vị trí bắt đầu tách và số kí tự cần tách.
2/Viết công thức tìm vị trí chuỗi con trong chuỗi mẹ với yêu cầu chuỗi con và chuỗi mẹ được nhập từ bàn phím
3/ Viết chương trình nhập 1 chuỗi bất kì. Đếm xem chuỗi có ban nhiêu kí tự 'n', in kết quả đếm ra màn hình.
4/ /Viết chương trình nhập 1 chuỗi bất kì. Tìm xem chuỗi có kí tự 'n' hay không, nếu có in vị trí tìm thấy ra màn hình

auauau97
21-03-2012, 20:42
cho mình hỏi cái, mấy cái xâu này khó quá
1/ viết công thức tách 1 chuỗi con từ chuỗi bất kì được nhập từ bàn phím với yêu cầu nhập số chỉ vị trí bắt đầu tách và số kí tự cần tách.
2/Viết công thức tìm vị trí chuỗi con trong chuỗi mẹ với yêu cầu chuỗi con và chuỗi mẹ được nhập từ bàn phím
3/ Viết chương trình nhập 1 chuỗi bất kì. Đếm xem chuỗi có ban nhiêu kí tự 'n', in kết quả đếm ra màn hình.
4/ /Viết chương trình nhập 1 chuỗi bất kì. Tìm xem chuỗi có kí tự 'n' hay không, nếu có in vị trí tìm thấy ra màn hình
câu 1 hình như là dùng hàm copy hay sao nhỉ ?
copy(st,vị trí,số kí tự)

JeremyBelpois
26-03-2012, 22:08
cho mọi người có bài làm : cho dãy số 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,....
nhập vào số m,n(m<=n<=100000);
in ra tổng a[m]+...+a[n]
:D
Thời gian chạy chương trình không lâu lắm.
For i:=1 to R do < một vài cái gì đó>(R<=447) là tồi tệ lắm rồi.
Ta có thể áp dụng các công thức dãy số lớp 11 vào tính là OK.
__________________________________________________ ___________
Bài này mình chỉ cần dùng công thức để tính ra:


program code;
var k,h:real;
t,p,l,r:word;
m,n,res:longint;

begin
writeln('Nhap M: '); readln(m);
writeln('Nhap N: '); readln(n);

k:=(sqrt(1+8*m)-1)/2;
t:=trunc(k);

if k>t then t:=t+1;
h:=(sqrt(1+8*n)-1)/2;

p:=trunc(h);
if h>p then p:=p+1;

l:= t*(t+1) div 2 -m+1;

r:=n-(p-1)*p div 2;

res:=t*l+r*p;
p:=p-1;

if t<p then
res:=res+p*(p+1)*(2*p+1) div 6-t*(t+1)*(2*t+1) div 6;
writeln('Ket qua: ',res);
readln;
end.

Còn với cách này thì dễ hiểu hơn, tốc độ cũng nhanh:


program code;
var di:word;
m,n,i,res:longint;

begin
writeln('Nhap M: '); readln(m);
writeln('Nhap N: '); readln(n);

di:=0;
i:=0;
res:=0;
while i<m do
begin
di:=di+1;
i:=i+di;
end;
res:=(i-m+1)*di;
while i<=n do
begin
di:=di+1;
i:=i+di;
res:=res+di*di;
end;
res:=res-di*(i-n);

writeln('Ket qua: ',res);
readln;
end.


Theo mình thấy thì bài này còn có thể tăng giới hạn lên n<=1 tỉ chạy vẫn tốt, khai báo kiểu dữ liệu lớn hơn, nhưng đối với trình Boland Pascal hay Turbo Pascal thì thế này là đạt giới hạn rồi.

ngoc th
30-03-2012, 00:06
định bới thêm bài nữa nhưng thôi, cứ từ từ :)

congminhlc
17-04-2012, 17:39
cho mình xin hướng dẫn chi tiết các câu lệnh trong bài nổi bọt

ngoc th
19-04-2012, 18:15
for i:= 1 to n-1 do
for j := n downto i+1 do
if a[i]>a[j] then
begin trunggian := a[i]; a[i] := a[j]; a[j] := trunggian; end;
cứ cái nhẹ thì nổi lên trên, cái nặng thì chìm xuống dưới
tại mỗi vị trí i, ra duyệt tất cả các vị trí sau i để tìm ra cái nhỏ nhất trong đó rùi đổi vị trí =))

rose in desert
19-04-2012, 20:28
du nó ko khó nhung mình thật sự ko biết giải nó, mong các bạn giúp mình với

1/ nhập 1 sâu từ bàn phím xuất ra màn hình xâu vừa nhập
2/nhập 1 xâu từ bàn phím, xuất ra màn hình vị trí những kí tự a
3/nhập một xâu từ bàn phím, xuất ra màn hình xâu p gồm các kí tự a
4/nhập 1 xâu từ bàn phím, sau đó cho biết vị trí xuất hiên nội dung cần tìm và xuất ra xâu vừa nhập với kí tự in hoa
5/nhập xâu s , xuất ra màn hình có bao nhiêu kí tự là chữ số
6/ nhập xâu s :a/ xuất ra 5 kí tự đầu tiên
b/xuất ra 5 kí tự cuối cùng ,c xuất ra 5 kí tự cuối cùng cho biết vị trí xuất hiên trên xâu
7/nhập xâu s, xuất ra màn hình vị trí xuất hiện là kí tự chử số
8/nhập 2 xâu khác nhau xuất ra màn hình sâu p chứa cả 2 xâu đó.

rose in desert
19-04-2012, 20:41
dù bài tập này ko khó nhưng nó ko dể đối với mình, làm ơn giúp mình giải bài tập này với

1/ nhập 1 sâu từ bàn phím xuất ra màn hình xâu vừa nhập
2/nhập 1 xâu từ bàn phím, xuất ra màn hình vị trí những kí tự a
3/nhập một xâu từ bàn phím, xuất ra màn hình xâu p gồm các kí tự a
4/nhập 1 xâu từ bàn phím, sau đó cho biết vị trí xuất hiên nội dung cần tìm và xuất ra xâu vừa nhập với kí tự in hoa
5/nhập xâu s , xuất ra màn hình có bao nhiêu kí tự là chữ số
6/ nhập xâu s :a/ xuất ra 5 kí tự đầu tiên
b/xuất ra 5 kí tự cuối cùng ,c xuất ra 5 kí tự cuối cùng cho biết vị trí xuất hiên trên xâu
7/nhập xâu s, xuất ra màn hình vị trí xuất hiện là kí tự chử số
8/nhập 2 xâu khác nhau xuất ra màn hình sâu p chứa cả 2 xâu đó.

ngoc th
23-04-2012, 22:25
cái kiểu đầu bài này là kiểu hỏi - trả lời chứ gõ code làm sao?! đọc cái đầu bài chuối quá =))

ngoc th
04-05-2012, 18:35
QHĐ
ở toạ độ n+1 chả có đống lá nào ^^
Duyệt từ n về 1
tại vị trí i và đã tồn tại 1 đống lá ở vị trí j
xét tổng tất cả các số từ i tới j-1 : nếu lớn hơn khối lượng lá tại i-1 thì ta có thêm 1 đống lá mới tại i, ko thì xét tiếp (tất nhiên là chỉ xét trong trường hợp k>1, =1 thì xét làm gì cho khổ)
--------------------------------------------------------------------------
cái trang này chỉ giải đáp tin học 11 thôi, vác cẳ bài tập chuyên lên hỏi là làm sao!!!

ngoc th
07-05-2012, 21:34
chuyên gì?? Nó trên spoj thôi mà

oạch! trên Spoj thì hỏi bài trên vnoi luôn đi còn lại qua đây hỏi!!! thừa hơi!!!
thế tên bài là gì thế? làm bài ăn chút điểm nào

ko0lte0
04-10-2012, 15:42
cho mình hỏi 2 bài này
1.Tính n!=1*2*...*n
2.Tính S=n+(n+1)+...+(n+100)
cô bảo 2 bài này dễ nhưng là do mình ko biết làm,mà dù có làm thì cũng ko biết làm đúng hay sai.Làm phiền bạn nào biết thì giải hộ mìn bài này nhé!tks

thu huyen
24-10-2012, 18:33
khi chay 1 chuong trinh ma bi loi file not found la tai sao co ban nao biet khong chi minh voi.

thu huyen
24-10-2012, 18:38
bai 1
s:=1;
for i:=1 to n do s:=s*i;

hoangdatclc
27-10-2012, 01:04
do đường dẫn đến file của bạn bị sai, bạn kiểm tra xem đường dẫn đến file đã đúng chưa hoặc kiểm tra xem file đó đã tồn tại ở đường dẫn mà bạn chỉ đến chưa

thu huyen
27-10-2012, 18:29
nhưng mình đã kiểm tra kĩ rồi đâu có sai đường dẫn đâu.

tunglam283
28-10-2012, 20:59
nhưng mình đã kiểm tra kĩ rồi đâu có sai đường dẫn đâu.

đặt con trỏ vào tên file inp hoặc file out rồi bấm Ctrl+Enter nếu mở đc ra thì là đúng còn k ra thì là bạn chưa tạo. xem lại xem

cuticnd
28-10-2012, 22:47
có ai giúp mình bài sửa lỗi tin này với

cuticnd
28-10-2012, 22:54
khi mình đăng một bài khá là dài lên đây thì bị chặn lại và có một dòng chữ xuất hiện là An error has occurred cuticnd! You must have 50 posts in order to post links. Your current post count is 4. làm sao để khắc phục tình trạng này để mình có thể đăng bài,

Alexman113
10-12-2012, 12:49
Viết chương trình nhập vào một chuỗi kí tự.
1. a) Cho biết độ dài của chuỗi.
b) Cho biết trong chuỗi có nhiêu khoảng trắng, đếm số khoảng trắng của chuỗi, vị trí từng khoảng trắng.
2. a) Đổi toàn bộ chuỗi ra hoa.
b) Đổi toàn bộ chuỗi ra thường.
c) Đổi hoa ra thường và thường ra hoa.
3. Đổi những chữ đầu của từ ra hoa còn lại là thường. (Vd: Độc lập tự do hạnh phúc -->>> Độc Lập Tự Do Hạnh Phúc)
4. Đếm bao có bao nhiêu kí hiệu khác (trừ chữ thường, chữ hoa và số).
5. Xuất ra tổng mã ASCII của tất cả các kí tự của chuỗi.
6. Bỏ các khoảng trắng thừa (chuỗi chuẩn).
7. Cho biết chuỗi có bao nhiêu từ.
8. Nhập vào một kí tự bất kì
a) Đếm số lần xuất hiện của kí tự đó trong chuỗi(không phân biệt chữ thường và hoa).
b) Thay thế một kí tự nào đó bằng kí tự vừa nhập vào.

Giúp em với ạ, em xin cảm ơn ạ.

- - - Updated - - -

Viết chương trình nhập vào một chuỗi kí tự.
1. a) Cho biết độ dài của chuỗi.
b) Cho biết trong chuỗi có nhiêu khoảng trắng, đếm số khoảng trắng của chuỗi, vị trí từng khoảng trắng.
2. a) Đổi toàn bộ chuỗi ra hoa.
b) Đổi toàn bộ chuỗi ra thường.
c) Đổi hoa ra thường và thường ra hoa.
3. Đổi những chữ đầu của từ ra hoa còn lại là thường. (Vd: Độc lập tự do hạnh phúc -->>> Độc Lập Tự Do Hạnh Phúc)
4. Đếm bao có bao nhiêu kí hiệu khác (trừ chữ thường, chữ hoa và số).
5. Xuất ra tổng mã ASCII của tất cả các kí tự của chuỗi.
6. Bỏ các khoảng trắng thừa (chuỗi chuẩn).
7. Cho biết chuỗi có bao nhiêu từ.
8. Nhập vào một kí tự bất kì
a) Đếm số lần xuất hiện của kí tự đó trong chuỗi(không phân biệt chữ thường và hoa).
b) Thay thế một kí tự nào đó bằng kí tự vừa nhập vào.

Giúp em với ạ, em xin cảm ơn ạ.

Alexman113
10-12-2012, 12:50
Viết chương trình nhập vào một chuỗi kí tự.
1. a) Cho biết độ dài của chuỗi.
b) Cho biết trong chuỗi có nhiêu khoảng trắng, đếm số khoảng trắng của chuỗi, vị trí từng khoảng trắng.
2. a) Đổi toàn bộ chuỗi ra hoa.
b) Đổi toàn bộ chuỗi ra thường.
c) Đổi hoa ra thường và thường ra hoa.
3. Đổi những chữ đầu của từ ra hoa còn lại là thường. (Vd: Độc lập tự do hạnh phúc -->>> Độc Lập Tự Do Hạnh Phúc)
4. Đếm bao có bao nhiêu kí hiệu khác (trừ chữ thường, chữ hoa và số).
5. Xuất ra tổng mã ASCII của tất cả các kí tự của chuỗi.
6. Bỏ các khoảng trắng thừa (chuỗi chuẩn).
7. Cho biết chuỗi có bao nhiêu từ.
8. Nhập vào một kí tự bất kì
a) Đếm số lần xuất hiện của kí tự đó trong chuỗi(không phân biệt chữ thường và hoa).
b) Thay thế một kí tự nào đó bằng kí tự vừa nhập vào.

Giúp em với ạ, em xin cảm ơn ạ.

A4U CarryAll
12-04-2014, 09:22
Ai giúp em bài này với,mai nộp rồi.
Nhập 3 mảng A,B,C có số phần tử khác nhau
Tính tổng các phần tử của 3 mảng trên

thptbt84
17-10-2014, 09:43
cho mảng a (a1..an) đếm trong mảng có bao nhiêu số Fibonaci khác nhau.
ví dụ:
tệp vào
6
4 1 1 7 10 8
tệp kết quả:
2

Huỳnh Duy Idol
26-10-2014, 11:43
Cho ma trận A cấp N và chỉ số dòng x, chỉ số cột y. In 1 dòng chứa các phần tử theo chiều xoắn ốc bắt đầu tại (x,y).

ada95
11-12-2014, 09:03
Viết chương trình nhập vào một chuỗi kí tự.
1. a) Cho biết độ dài của chuỗi.
b) Cho biết trong chuỗi có nhiêu khoảng trắng, đếm số khoảng trắng của chuỗi, vị trí từng khoảng trắng.
2. a) Đổi toàn bộ chuỗi ra hoa.
b) Đổi toàn bộ chuỗi ra thường.
c) Đổi hoa ra thường và thường ra hoa.
3. Đổi những chữ đầu của từ ra hoa còn lại là thường. (Vd: Độc lập tự do hạnh phúc -->>> Độc Lập Tự Do Hạnh Phúc)
4. Đếm bao có bao nhiêu kí hiệu khác (trừ chữ thường, chữ hoa và số).
5. Xuất ra tổng mã ASCII của tất cả các kí tự của chuỗi.
6. Bỏ các khoảng trắng thừa (chuỗi chuẩn).
7. Cho biết chuỗi có bao nhiêu từ.
8. Nhập vào một kí tự bất kì
a) Đếm số lần xuất hiện của kí tự đó trong chuỗi(không phân biệt chữ thường và hoa).
b) Thay thế một kí tự nào đó bằng kí tự vừa nhập vào.

Giúp em với ạ, em xin cảm ơn ạ.


--
{Date: 2014/12/03/00h09m}


{Sử dụng các hàm trong TP7:
Declaration
function Copy(S: String; Index: Integer; Count: Integer): String;
function Delete(S: String; Index: Integer; Count: Integer): String;
function Pos(Substr: String; S: String): Byte;
procedure Insert(Source: String; var S: String; Index: Integer);

}
1. a) Cho biết độ dài của chuỗi.





function Len (Text :String) :Byte;
{2014/12}
begin
Len := Ord (Text [0]);
end;







6. Bỏ các khoảng trắng thừa (chuỗi chuẩn).

{Các khoảng trắng bên trái}
[code]

function TrimLeft (Text :String) :String; {Loại bỏ các khoảng trắng ở đầu chuỗi}
{2014/12}
var
i :Byte;
J :Byte;
begin
if Length (Text) <= 1 then
TrimLeft := Text
else
begin
j := 0;
for i:=1 to Length (Text) do
if Text [i] = ' ' then
begin
Inc (j); {Đếm số khoảng trắng}
continue;
end
else
break; {Không còn khoảng trắng ở đầu nữa}
TrimLeft := Copy (Text, j + 1, Length (Text) - j);
end; {else}
end; {TrimLeft}



{Các khoảng trắng bên phải}



function TrimRight (Text :String) :String; {Loại bỏ các khoảng trắng ở cuối chuỗi}
{2014/12}
{ var
s :String; }
begin
if Length (Text) <= 1 then
TrimRight := Text
else
TrimRight := Reverse (TrimLeft (Reverse (Text)));
(*
s := Reverse (Text); {Đảo chuỗi, để cuối chuỗi thành đầu chuỗi}
s := TrimLeft (s); {và loại bỏ khoảng trắng}
s := Reverse (s); {Rồi đảo lại như cũ}
TrimRight := s;
*)
end; {TrimRight}




function Trim (Text :String) :String;
{Loại bỏ các khoảng trắng đầu/cuối chuỗi,
Phần còn lại trong chuỗi nếu có >=2 khoảng trắng liên tiếp nhau thì chỉ giữ lại 1 khoảng trắng}
var
s :String;
i :Byte;
enable :Boolean;
begin
if Length (Text) <= 1 then
Trim := Text
else
begin
{ s := Text; }
{ s := TrimLeft (s); } {Loại bỏ các khoảng trắng ở đầu chuỗi}
{ s := TrimRight (s); } {Loại bỏ các khoảng trắng ở cuối chuỗi}
Text := TrimRight (TrimLeft (Text));
{Không còn khoảng trắng ở đầu chuỗi và cuối chuỗi}
{Bây giờ xử lý phần giữa}
enable := true; {cho phép ghi khoảng trắng}
s :='';
for i:=1 to Length (Text) do
if Text [i] <> ' ' then {Nếu không phải khoảng trắng thì ghi bình thường}
begin
s := s + Text [i];
enable := true; {Và cho phép ghi khoảng trắng sau nó - nếu có}
continue;
end
else {Có khoảng trắng?}
if (enable = true) then {Nếu trước đó không có khoảng trắng, Được ghi ?}
begin
s := s + Text [i]; {Thì ghi lại}
enable := false; {Và đánh dấu là có khoảng trắng rồi, không cho phép ghi nữa}
continue;
end
else continue;
Trim := s;
end;
end; {Trim}



3. Đổi những chữ đầu của từ ra hoa còn lại là thường.




function TitleCase (Text :String) :String; {Đầu từ: chữ Hoa,khác: chữ thường}
var
flag:Boolean;
i :Byte;
begin
if Length (Text) <= 1 then
Trim := Upper (Text)
else
begin
flag := True;
for i := 1 to Length (Text) do
begin
if Text [i] = ' ' then {Là khoảng trắng?,=>ký tự tiếp theo (nếu có) là ký tự đứng đầu 1 từ}
begin
flag := True; {và cho phép ký tự đó là chữ Hoa}
continue;
end
else {Không phải khoảng trắng}
begin
if flag then {flag = True ?, => Chữ Hoa}
begin
Text [i] := UpCase (Text [i]);
flag := not (flag); {Đặt lại chữ thường}
end
else {flag = false, => Chữ thường}
begin
Text [i] := LowCase (Text [i]);
end;
end;
end;
TitleCase := Text;
end;
end;




2. a) Đổi toàn bộ chuỗi ra hoa.



function Upper (Text :String) :String;
{2014/12}
var
i :Integer;
begin
for i := 1 to Length (Text) do Text [i] := UpCase (Text [i]);
Upper := Text;
end; {Upper}



2. b) Đổi toàn bộ chuỗi ra thường.




function Lower (Text :String) :String;
{2014/12}
var
i :Integer;
begin
for i := 1 to Length (Text) do
if ((Ord (Text [i]) >= 65) and (Ord (Text [i]) <= 90)) then
Text [i] := Chr (Ord (Text [i]) + 32);
Lower := Text;
end; {Lower}




KHÁC:
Đầu câu viết Hoa:



function Proper (Text :String) :String;
{2014/12}
begin
Text := TrimLeft (Text);
Text := Lower (Text);
Text [1] := UpCase (Text [1]);
Proper := Text;
end;



{Giống hàm Exact trong Excel}
{So sánh chuỗi có giống nhau không}





function Exact (Text1, Text2 :String) :Boolean;
{2014/12}
begin
Exact:=( (Length (Text1) = Length (Text2)) and (Pos (Text1, Text2) <> 0) );
end;




KHÁC:
{Giống hàm Left trong Excel}




function Left (Text :String; Num_Chars :Byte) :String;
{2014/12}
begin
if Num_Chars >= Length (Text) then
Left := Text
else
Left := Copy (Text, 1, Num_Chars);
end;




KHÁC:
{Giống hàm Right trong Excel}





function Right (Text :String; Num_Chars :Byte) :String;
{2014/12}
begin
if Num_Chars >= Length (Text) then
Right := Text
else
Right := Copy (Text, (Length (Text) - Num_Chars + 1), Num_Chars);
end;



8. Tìm kiếm và thay thế:

Thay thế ký tự:



function Find_Char (Find_Text :String; Within_Char :Char; Start_Num :Byte) :Byte;
{2014/12}
var
Position :Byte;
begin
Position := Pos (Within_Char, Copy (Find_Text, Start_Num, Length (Find_Text)));
if (Position <> 0) then Position := (Position + Start_Num -1);
Find_Char := Position;
end; {function Find_Char}



Tìm và thay thế chuỗi:
{Giống hàm find trong Excel}





function Find (Find_Text, Within_Text :String; Start_Num :Byte) :Byte;
{2014/12}
var
Position :Byte;
begin
Position := Pos (Within_Text, Copy (Find_Text, Start_Num, Length (Find_Text)));
if (Position <> 0) then Position := (Position + Start_Num -1);
Find := Position;
end; {function Find}



Tìm và thay thế chuỗi:
{Giống hàm SubStitute trong Excel}



function SubStitute (Text, Old_Text, New_Text :String) :String;
{2014/12/}
var
Position :Byte;
begin
while Pos (Old_Text, Text) <> 0 do
begin
Position := Pos (Old_Text, Text);
Delete (Text, Position, Length (Old_Text));
Insert (New_Text, Text, Position);
end;
SubStitute := Text;
end; {SubStitute}



Tìm và thay thế chuỗi:
{Giống hàm Replace trong Excel}





function Replace (Old_Text :String; Start_Num, Num_Chars :Byte; New_Text :String) :String;
{2014/12}
begin
Delete (Old_Text, Start_Num, Num_Chars);
Insert (New_Text, Old_Text, Start_Num);
Replace := Old_Text;
end; {Replace}



{Giống hàm Mid trong Excel}




function Mid (Text :String; Start_Num, Num_Chars :Byte) :String;
begin
if Start_Num > Length (Text) then
Mid := ''
else
Mid := Copy (Text, Start_Num, Num_Chars);
end;



KHÁC:
{Đảo ngược chuỗi}




function Reverse (Text :String) :String; {Đảo ngược chuỗi}
{2014/12}
var
String1 :string [1];
L :Byte; {Length}
i :Byte; {Counter}
begin
L := Length (Text);
for i:=1 to (L div 2) do {Lấy 2 nửa chuỗi hoán đổi}
begin
String1 [1] := Text [i]; {x=b}
Text [i] := Text [L-i+1]; {b=a}
Text [L-i+1]:= String1 [1]; {a=x=b}
end;
Reverse := Text;
end;





--
-- Mặc dù từ 2012, nhưng có lẽ còn có ích với ai đó;
-- code trên còn dài, chưa hiệu phải hiệu quả, bạn nào sửa giúp.
--

ntn5464
15-12-2014, 21:07
SỐ NGUYÊN TỐ GHÉP:
Xét dãy A các số nguyên tố 2, 3, 5, 7, 11, 13, 17, 19,...
và dãy B gồm các số thu được từ dãy A bằng cách ghép hai số liên tiếp trong A: 23, 57, 1113, 1719, ...
Trong dãy B có những phần tử là số nguyên tố. Chẳng hạn 23, 3137, 8389, 157163...
Các số nguyên tố trong dãy B gọi là số nguyên tố ghép.
Yêu cầu: Cho trước số nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K.
-->>>> Ai cho em code đi.... Có quà đấy

- - - Updated - - -

SỐ NGUYÊN TỐ GHÉP:
Xét dãy A các số nguyên tố 2, 3, 5, 7, 11, 13, 17, 19,...
và dãy B gồm các số thu được từ dãy A bằng cách ghép hai số liên tiếp trong A: 23, 57, 1113, 1719, ...
Trong dãy B có những phần tử là số nguyên tố. Chẳng hạn 23, 3137, 8389, 157163...
Các số nguyên tố trong dãy B gọi là số nguyên tố ghép.
Yêu cầu: Cho trước số nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K.
-->>>> Ai cho em code đi.... Có quà đấy

ada95
17-12-2014, 05:44
SỐ NGUYÊN TỐ GHÉP:
Xét dãy A các số nguyên tố 2, 3, 5, 7, 11, 13, 17, 19,...
và dãy B gồm các số thu được từ dãy A bằng cách ghép hai số liên tiếp trong A: 23, 57, 1113, 1719, ...
Trong dãy B có những phần tử là số nguyên tố. Chẳng hạn 23, 3137, 8389, 157163...
Các số nguyên tố trong dãy B gọi là số nguyên tố ghép.
Yêu cầu: Cho trước số nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K.
-->>>> Ai cho em code đi.... Có quà đấy

- - - Updated - - -

SỐ NGUYÊN TỐ GHÉP:
Xét dãy A các số nguyên tố 2, 3, 5, 7, 11, 13, 17, 19,...
và dãy B gồm các số thu được từ dãy A bằng cách ghép hai số liên tiếp trong A: 23, 57, 1113, 1719, ...
Trong dãy B có những phần tử là số nguyên tố. Chẳng hạn 23, 3137, 8389, 157163...
Các số nguyên tố trong dãy B gọi là số nguyên tố ghép.
Yêu cầu: Cho trước số nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K.
-->>>> Ai cho em code đi.... Có quà đấy




------------------------
To: ntn5464
Bài toán trên với các số nguyên tố 2, 3, 5, 7, 11, 13, 17, 19 ...
có được ghép hoán vị 2 số liên tiếp không bạn?
Như 23, 32, 35, 53, 57, 75, 711, 117 ...?
Để có CT đúng.

** Vì k<=500 nên cần tối thiểu 1000 số nguyên tố để có 500 cặp số ghép (nếu ko hoán vị và cũng đều là số nguyên tố);
**
- Tính toán tìm số nguyên tố từ 1 tới n;
- Vừa tính: Cứ 2 số nguyên tố liên tiếp tạo thành số:
+ Xác định đó có phải là số nguyên tố hay không?
+ Nếu không là số nguyên tố, tiếp tục vòng lặp;
+ Nếu số đó là số nguyên tố ghép; lưu kết quả vào mảng A (hoặc dùng 1 biến tạm để đếm);
- Đồng thời xác định luôn số thứ tự của số nguyên tố ghép đó trong mảng A/ hoặc biến tạm để đếm (tìm ra số đầu tiên thì nó là 1, số thứ hai là 2 ...) cho đến khi số thứ tự trong A hoặc biến đếm = k thì dừng; số tính ra lần cuối cùng là kết quả.

manhhung1598
17-12-2014, 08:11
1, viết chương trình nhập vào mảng 1 chiềt A gồm n phần tử (n<=100) là các số nguyên dương. Hãy tính tổng các phần tử là số chẵn trong mảng A và thông báo kết quả ra ngoài màn hình

2, viết chương trình nhập vào xâu st . Hãy biến các kí tự trong xâu st thành in hoa và thông báo kết quả ra ngoài màn hình.

3, viết chương trình nhập vào xâu s1 và xâu s2 . Hãy in ra màn hình vị trí đầu tiên xuất hiện của xâu s2 trong xâu s1

4, viết chương trình nhập vào mảng 1 chiều A gồm n ptử (n<=100) là các số nguyên . Tìm ptử âm đầu tiên trong mảng A và chỉ số của nó . Thông báo kết quả ra ngoài màn hình

ksc10
17-12-2014, 18:56
** Vì k<=500 nên cần tối thiểu 1000 số nguyên tố để có 500 cặp số ghép (nếu ko hoán vị và cũng đều là số nguyên tố);
**
- Tính toán tìm số nguyên tố từ 1 tới n;
- Vừa tính: Cứ 2 số nguyên tố liên tiếp tạo thành số:
+ Xác định đó có phải là số nguyên tố hay không?
+ Nếu không là số nguyên tố, tiếp tục vòng lặp;
+ Nếu số đó là số nguyên tố ghép; lưu kết quả vào mảng A (hoặc dùng 1 biến tạm để đếm);
- Đồng thời xác định luôn số thứ tự của số nguyên tố ghép đó trong mảng A/ hoặc biến tạm để đếm (tìm ra số đầu tiên thì nó là 1, số thứ hai là 2 ...) cho đến khi số thứ tự trong A hoặc biến đếm = k thì dừng; số tính ra lần cuối cùng là kết quả.
Code này chạy hết giờ chưa xong :|
Bài này có tính giờ muh.

ntn5464
18-12-2014, 15:47
Input Output
2 3137

ntn5464
18-12-2014, 16:12
Làm thế nào tìm đc 2 snt liên tiếp ????!!!!!!!!!!!!!!!!!!

ntn5464
18-12-2014, 19:15
var a : array[1..600]of qword;
f : array[1..600]of byte;
k : integer;
f1,f2 : text;
function ktra(x:qword):boolean;
var i : longint;
begin
if (x=2)or(x=3)then exit(true) else
begin
for i:=2 to trunc(sqrt(x)) do
if x mod i = 0 then exit(false);
exit(true);
end;
end;
function hop(x,y:qword):qword;
var s1,s2 : string;
begin
str(x,s1);
str(y,s2);
s1:=s1+s2;
val(s1,hop);
end;
procedure xuli;
var i,j : longint;
s,x,y : int64;
begin
a[1]:=2;
j:=1;
i:=3;
fillchar(f,sizeof(f),0);
x:=2;
while f[k]<>1 do
begin
if ktra(i) then
begin
inc(j);
a[j]:=i;
s:=hop(a[j-1],a[j]);
if f[j-1]=0 then
begin
if ktra(s) then
begin
a[j-1]:=s;
f[j-1]:=1;
j:=j-1;
end else j:=j-2;
end;
end;
i:=i+2;
end;
write(f2,a[k]);
close(F2);
end;
begin
assign(f1,'');reset(F1);
assign(F2,'');rewrite(F2);
readln(f1,k);
xuli;
end.

- - - Updated - - -

Viết chương trình nhập vào 1 số la mã rồi biến đổi thành số thập phân.

ntn5464
18-12-2014, 19:17
Viết chương trình nhập vào 1 số la mã rồi biến đổi thành số thập phân.

ntn5464
18-12-2014, 20:49
Var st:string;
so,i:longint;
Begin
Write(' Nhap so la ma: ');Readln(st);
so:=0;
For i:=1 to length(st) do
st[i]:=upcase(st[i]);
For i:=1 to length(st) do
{['I'=1,'V'=5,'X'=10,'L'=50,'C'=100,'D'=500,'M'=1000
,'IV'=4,'IX'=9,'XL=40','XC'=90,'CD'=400,'CM'=900] }
Begin

If (st[i]='I') and (st[i+1] <>'V') and (st[i+1]<>'X') then so:=so+1;
If (st[i]='V') and (st[i-1] <>'I') then so:=so+5;
If (st[i]='X') and (st[i-1]<>'I') and (st[i+1]<>'L') and (st[i+1]<>'C')
then so:=so+10;
If (st[i]='L') and (st[i-1]<>'X') then so:=so+50;
If (st[i]='C') and (st[i-1]<>'X') and (st[i+1] <>'D') and (st[i+1] <>'M')
then so:=so+100;
If (st[i]='D') then so:=so+500;
If (st[i]='M') and (st[i-1]<>'C') then so:=so+1000;


If (st[i]='I') and (st[i+1]='V') then so:=so+4;
If (st[i]='I') and (st[i+1]='X') then so:=so+9;
If (st[i]='X') and (st[i+1]='L') then so:=so+40;
If (st[i]='X') and (st[i+1]='C') then so:=so+90;
If (st[i]='C') and (st[i+1]='D') then so:=so+400;
If (st[i]='C') and (st[i+1]='M') then so:=so+900;
End;
Writeln(' So da chuyen la:',so);
Readln
End.

ada95
19-12-2014, 11:36
Chương trình chuyển đổi số La mã sang thập phân:




{--------------------------------------------------------------------------}
PROGRAM ROMAN_DECIMA_CONVERT;
VAR
RomanNumber :String; {Dùng để test}
{--------------------------------------------------------------------------}
{Đổi toàn bộ chữ thường ra chữ hoa}
function Upper (Text :String) :String;
var
i :Integer;
begin
for i := 1 to Length (Text) do Text [i] := UpCase (Text [i]);
Upper := Text;
end; {Upper}
{--------------------------------------------------------------------------}
{Mô tả:
function Roman2Dec (Roman :String) :Integer;
- Hàm đổi chữ số La mã sang hệ thập phân.
- Vào: Roman : Chữ số La mã (String);
- Ra : Chữ số ở hệ thập phân (Integer).
- Chữ số La mã:
I = 1
V = 5
X = 10
L = 50
C = 100
D = 500
M = 1000

- Xác định giá trị:
+ Xác định từ chữ số nào lớn nhất, sau đến chữ số nhỏ hơn:
( M ->D ->C ->L ->X ->V ->I )
+ Giống nhau thì nhân đôi, nhân ba ...
+ Khác nhau thì: Chữ số nhỏ hơn:
~Đứng ở bên trái làm giảm giá trị của chữ số lớn hơn ở bên phải
~Đứng ở bên phải làm tăng giá trị của chữ số lớn hơn ở bên trái
+ VD: MMXIV = 2014
.Lớn nhất MM = 1000*2=2000
.Lớn tiếp theo: X=10
.Lớn tiếp theo: V=5
.Lớn tiếp theo: I=1
.I bên trái V: 5-1=4;
.IV bên phải X: 10+4=14
.XIV bên phải MM: 2000+14=2014
}

function Roman2Dec (Roman :String) :Integer;
const
RomanChar = 'IVXLCDM'; {Bảng ký tự chữ số La mã: 7 ký tự}
{Và giá trị tương ứng trong chữ số thập phân:}
RomanValue :Array [1..7] of Integer = (1, 5, 10, 50, 100, 500, 1000);
var
i :Byte; {Xử lý trên từng ký tự số La mã}
sum :Integer; {Biến tạm, chứa giá trị thập phân}
begin
sum := 0; {Chú ý: Phải khởi tạo giá trị trước cho biến=0, nếu không kết quả sai}
Roman := Upper (Roman); {Ra chữ Hoa}
i := Length (Roman);
while (i >= 1) do
begin
if (i > 1) then
begin
if (Pos (Roman [i], RomanChar) <= (Pos (Roman [i-1], RomanChar))) then
begin
sum := sum + RomanValue [Pos (Roman [i+0], RomanChar)];
Dec (i);
end
else
begin
sum := sum + RomanValue [Pos (Roman [i+0], RomanChar)];
sum := sum - RomanValue [Pos (Roman [i-1], RomanChar)];
Dec (i, 2);
end;
end
else
begin
sum := sum + RomanValue [Pos (Roman [1], RomanChar)];
Dec (i);
end;
end; {while}
Roman2Dec := sum; {Kết quả}
end; {Roman2Dec}
{----------------------------Chương trình chính----------------------------}
BEGIN
{
Write ('Nhap vao so La ma: ');
ReadLn (RomanNumber); {cần kiểm tra có phải là số La mã}
WriteLn ('So La ma ', RomanNumber,' qua He 10 la: ', Roman2Dec (RomanNumber));
ReadLn;
}

RomanNumber := 'XXI'; {=21; --->Thay đổi giá trị để test...}
WriteLn ('So La ma ', RomanNumber,' qua He 10 la: ', Roman2Dec (RomanNumber));
{Dùng trực tiếp: Roman2Dec ('XXI');}
ReadLn;
END.
{2014/12/19}
{--------------------------------------------------------------------------}

Bótay.com
17-05-2015, 10:18
Các bác đang học 11 vào www.ThuatToan.net mà tham khảo, em thấy có nhiều thuật toán hay :D

hoangbit
16-02-2016, 07:33
Giả sử có N hộp giấy, các hộp được đánh số từ 1 đến N. Với mỗi hộp giấy, bé Ri biết được chính xác độ dài hai cạnh đáy của hộp là a và b.
Yêu cầu: Hãy giúp bé Ri xếp các hộp sao cho số lượng các hộp lồng vào nhau là lớn nhất.
Dữ liệu vào: Cho trong file văn bản XEPHOP.INP, có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương N, là số lượng hộp giấy. (1 ≤ N ≤ 1000)
- N dòng tiếp theo: Mỗi dòng ghi hai số nguyên dương ai bi, là độ dài hai cạnh đáy của hộp giấy thứ i. (1 ≤ ai, bi ≤ 32767)
Dữ liệu ra: Ghi ra file văn bản XEPHOP.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương M là số lượng các hộp giấy lồng nhau tìm được.
- Dòng 2: Ghi M số nguyên dương, là chỉ số của M hộp giấy theo thứ tự từ ngoài vào trong của một cách xếp hộp.
Ví dụ:
XEPHOP.INP
5
1 5
5 7
6 4
3 6
2 5
XEPHOP.OUT
3
2 3 5

có thể có các kết quả khác cũng đc miễn là nó đúng với đề bài
các bác giúp em bài này với

hoangbit
16-02-2016, 22:29
mấy bài này minh cũng đang làm nhưng chưa ra.

Fjzer
17-02-2016, 19:32
khó đấy...đề thi tin cấp gì vậy ?

hoangbit
17-02-2016, 22:09
đề cấp tỉnh.mình làm mãi 2 hôm nay rồi

hoangbit
18-02-2016, 22:32
pro đâu cả rồi giúp em đi

CôngMinh
22-02-2016, 15:27
đây nhá. bài dễ mà

CôngMinh
22-02-2016, 15:34
dễ mà, đầu tiên 2 mảng 1 chiều. rồi so sánh..............đợi 1 tẹo. mình đg trên lớp. 2h nữa mình gửi cho

Caroline1314
14-03-2017, 06:35
Cho một xâu S có độ dài tối đa là 106 ký tự. Trong xâu S người ta loại bỏ sự xuất hiện của mộtxâu con T có độ dài ≤ 100 ký tự. Để làm điều này, người ta tìm sự xuất hiện của T lần đầu tiên trongS và xóa nó. Sau đó cứ lặp đi lặp lại quá trình này cho đến khi không còn sự xuất hiện của T trong S.Lưu ý rằng việc xóa một lần xuất hiện có thể tạo ra một sự xuất hiện mới của T chưa từng tồn tạitrước đó. Hãy xác định nội dung cuối cùng của xâu S.
~~~~Bài này làm dùm e với ạ~~~~