Bài tập pascal cơ bản doc

18 773 3
Bài tập pascal cơ bản doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài tập cơ bản Tập I Các bài tập cơ bản Bài 1. Viết chơng trình nhập số nguyên dơng N<=1000 và N số nguyên A[1], . . ., A[N]. Hãy thông báo ra màn hình các số sau: - Giá trị lớn nhất của dãy và các chỉ số của các số hạng đạt giá trị lớn nhất. - Giá trị nhỏ nhất của dãy và các chỉ số của các số hạng đạt giá trị nhỏ nhất. - Giá trị lớn thứ nhì của dãy và các chỉ số của các số hạng đạt giá trị lớn nhì. - Giá trị nhỏ thứ nhì của dãy và các chỉ số của các số hạng đạt giá trị nhỏ nhì. - Dãy con gồm nhiều nhất các số hạng liên tiếp của dãy lập thành một cấp số cộng - Dãy con gồm nhiều nhất các số hạng liên tiếp của dãy lập thành một dãy đơn điệu - Dãy con gồm nhiều nhất các số hạng liên tiếp trái dấu nhau của dãy - Dãy con gồm nhiều nhất các số hạng liên tiếp cùng dấu của dãy Bài 2. Viết chơng trình nhập từ bàn phím hai số nguyên dơng M và N 10000 và in ra màn hình ớc chung lớn nhất của hai số đó. Bài 3. Viết chơng trình nhập từ bàn phím số nguyên dơng N 30000 và thông báo ra màn hình N có là số nguyên tố hay không. Bài 4. Viết chơng trình nhập từ bàn phím số nguyên dơng N 10000 và thông báo ra màn hình các số K<=N có bằng tổng các ớc của nó và nhỏ hơn nó? (Số K thoả mãn điều kiện trên đợc gọi là số hoàn thiện, ví dụ 6=1+2+3 là số hoàn thiện) Bài 5. Nhập từ bàn phím số nguyên dơng N<=10000 và N số thực A1, . ., AN. Hãy sắp xếp dãy đó theo thứ tự không giảm. Thông báo ra màn hình dãy đợc sắp xếp lại đó và ghi rõ từng số hạng là số hạng nào của dãy cũ. Bài 6. Có N gói kẹo, N<=200, các gói kẹo đợc đánh số từ 1 đến N, gói kẹo thứ i có A[i] cái kẹo, các số a[1], . ., a[N] đều nguyên dơng và không quá 200. Hãy thông báo ra màn hình một cách chia các gói kẹo làm hai nhóm sao cho tổng số kẹo trong các nhóm sai khác nhau ít nhất. Dữ liệu vào đợc cho bởi file INP.BL trong đó dòng thứ nhất ghi số N và trong các dòng tiếp theo, mỗi dòng ghi 10 số lần lợt từ A[1] đến A[N]. Kết quả ghi ra file OUT.BL nh sau: dòng thứ nhất ghi số kẹo chênh lệch giữa hai nhóm, tiếp theo là một nhóm dòng ghi số hiệu các gói kẹo thuộc nhóm thứ nhất, mỗi dòng ghi 20 số hiệu, cuối cùng là một nhóm dòng ghi số hiệu các gói kẹo thuộc nhóm thứ hai, mỗi dòng ghi 20 số hiệu. Bài 7. Viết chơng trình nhập từ bàn phím bốn số nguyên dơng A, B, C, D, 1<=A<=31, 1<=B<=12, -2000<=C<=2000, 1<=D<=7. ý nghĩa của bốn số này là ngày A tháng B năm C là ngày thứ D, trong đó 1 là chủ nhật, 2 là thứ hai, . ., 7 là ngày thứ bảy. Nhập tiếp ba số nguyên dơng A1, B1, C1 thoả mãn các điều kiện tơng ứng nh đối với A, B, C. Hãy thông báo ra màn hình ngày A1 tháng B1 năm C1 là ngày thứ mấy? Biết rằng nếu năm chia hết cho 4, tháng 2 có 29 ngày, còn với các năm khác, tháng 2 chỉ có 28 ngày. Bài 8. Cho một hình chữ nhật có các cạnh là các số nguyên dơng M, N, M và N không quá 100. Hình chữ nhật đợc chia thành các ô vuông cạnh đơn vị bằng các đờng song song với các cạnh, các ô này đợc đánh số nh sau: các dòng ô đánh số từ 1 đến M từ dới lên trên, các cột ô đánh số từ 1 đến N từ trái sang phải, khi đó mỗi ô đợc đặc trng bởi chỉ số dòng và chỉ số cột của nó. Hãy ghi ra màn hình các ô vuông có điểm chung - 1 Bài tập cơ bản Tập I với đờng chéo của hình chữ nhật đi từ góc trái trên của ô [1,1] đến góc phải dới của ô [M,N]. Bài 9. Viết chơng trình nhập số nguyên dơng N<=1000 và dãy N số nguyên A[1], . . ., A[N]. Hãy xét xem dãy số đó có bao nhiêu giá trị khác nhau và mỗi giá trị đó là giá trị của các số hạng nào của dãy. Bài 10. Viết chơng trình nhập từ bàn phím hai số nguyên dơng M và N, M,N<=10000. Hãy viết ra màn hình biểu diễn dới dạng số thập phân (nói chung là vô hạn tuần hoàn) của phân số M/N tức là dạng M/N = b 1 . .b k ,c 1 . . . c m (d 1 . . d r ) Ví dụ nếu M=2, N=3, ta phải viết ra màn hình 0,(6). Bài 11. Hãy tìm một cách biểu diễn các số lớn hàng trăm chữ số và thực hiện các phép toán cộng và trừ. Bài 12. Viết chơng trình nhập từ bàn phím hai số nguyên dơng M, N. Hãy tìm cách thay các dấu ? trong biểu thức sau bởi các phép toán +, -, * sao cho giá trị của biểu thức nhận đợc bằng N: ((((M?M)?M)?M)?M) Nếu không có thể đợc, hãy thông báo là không thể đợc. Bài 13. Viết chơng trình nhập một số thực dơng R và một số nguyên dơng MAX. Hãy tìm trong số các phân số có dạng P/Q với Q<=MAX phân số gần số R nhất. Bài 14. Viết chơng trình nhập số nguyên dơng N<=30000 và thông báo ra màn hình số chữ số không tận cùng của N!. Bài 15. Viết chơng trình nhập từ bàn phím hai xâu ký tự S1 và S2. 1. Thông báo ra màn hình độ dài của S1 và S2. 2. Hãy xét xem S1 có xuất hiện bao nhiêu lần trong S2 và xuất hiện tại những vị trí nào? 3. Hãy xét xem liệu S2 có là ghép liên tiếp của một số lần xâu S1 không? Bài 16. Viết chơng trình nhập từ bàn phím một ký tự và một xâu ký tự. Hãy thông báo ra màn hình ký tự đó xuất hiện bao nhiêu lần trong xâu ký tự và tại những vị trí nào? Bài 17. Viết chơng trình nhập 5 số nguyên A 0 , A 1 , A 2 , A 3 , A 4 . Hãy thông báo ra màn hình tìm mọi nghiệm nguyên của phơng trình A 0 +A 1 X + A 1 X 2 + A 3 X 3 + A 4 X 4 = 0 Bài 18. Viết chơng trình nhập một xâu ký tự S chỉ gồm các chữ cái thờng. Hãy lập xâu S1 nhận đợc từ S bằng cách sắp xếp lại các ký tự theo vần a, b, c, . . . Ví dụ nếu S = 'xbaqp' thì S1 = 'abpqx'. Bài 19. Viết chơng trình nhập 8 số thực X1, Y1, X2, Y2, X3, Y3, X4, Y4, tơng ứng là toạ độ của bốn điểm A, B, C, D trong mặt phẳng toạ độ. Thông báo ra màn hình các kết quả sau: 1. Ba điểm A, B, C có lập thành một tam giác không? - 2 Bài tập cơ bản Tập I 2. Nếu ABC là một tam giác, hãy xét xem điểm D có nằm bên trong tam giác này không? Bài 20. Viết chơng trình nhập số nguyên dơng N<=1000 và dãy A gồm N số nguyên dơng khác nhau từng đôi A[1], . ., A[N]. Hãy tìm một dãy B gồm nhiều số hạng nhất (không nhất thiết là liên tiếp) của A sao cho với bất kỳ ba số hạng khác nhau X, Y, Z của B, ta luôn có tổng X + Y + Z không lớn hơn tổng các số hạng còn lại của B. Bài 21. Giả sử trong một phiên làm việc từ thời điểm 0 đến thời điểm T = 8640000, một trung tâm tính toán phải thực hiện N chơng trình, chơng trình i thực hiện từ thời điểm A[i] đến thời điểm B[i], 0<=A[i]<=B[i]<T. 1. Cho trớc một khoảng thời gian [P1,Q1]. Hãy xét xem liệu tại mọi thời điểm của đoạn đó luôn có chơng trình chạy hay không? 2. Cho trớc một khoảng thời gian [R1,S1]. Hãy xét xem liệu tại mọi thời điểm của đoạn đó luôn không có chơng trình chạy hay không? 3. Hãy tìm khoảng thời gian [P,Q] dài nhất sao cho tại mọi thời điểm của nó luôn có chơng trình chạy. 4. Hãy tìm khoảng thời gian [R,S] dài nhất sao cho tại mọi thời điểm của nó đều không có chơng trình chạy. Dữ liệu vào đợc cho bởi file INP.BL trong đó dòng thứ nhất ghi số nguyên dơng N <=200. Với 1<=i<=N, dòng thứ i+1 ghi hai số nguyên không âm A[i] và B[i]. Dòng thứ N+2 ghi hai số nguyên không âm P1, Q1, P1<=Q1. Dòng thứ N+3 ghi hai số nguyên không âm R1, S1, R1<=S1. Kết quả ghi ra file OUT.BL: dòng thứ nhất ghi CO/KHONG tuỳ theo kết quả cụ thể; dòng thứ hai ghi CO/KHONG tuỳ theo kết quả cụ thể; dòng thứ ba ghi hai số P,Q; dòng thứ t ghi hai số R, S. Bài 22. Viết chơng trình làm các việc sau: 1. Nhập một số nguyên dơng N<=1000 và dãy A gồm N số tự nhiên A[1], . ., A[N]. 2. Tìm số tự nhiên nhỏ nhất không là tổng của một số số hạng của dãy A. Tổng này có thể chỉ gồm một số hạng và nếu có nhiều hơn, các số hạng không nhất thiết liên tiếp nhau nhng mỗi số hạng của dãy không xuất hiện quá một lần. Bài 23. Cho một sân hình chữ nhật có kích thớc MxN đợc chia thành MxN ô vuông bằng nhau bởi các đờng song song với các cạnh. Trên mỗi ô vuông có thể chôn hoặc không chôn một quả mìn. Tình trạng của bãi mìn có thể đợc mô tả bởi một trong hai cách sau: Cách thứ nhất: Dùng một mảng MIN1[1 M,1 N] trong đó phần tử MIN1[i,j] = 1 hay 0 tuỳ theo ô [i,j] có mìn hay không. Cách thứ hai: Mỗi ô của sân có nhiều nhất 8 ô khác nó kề cạnh với nó nh trong hình vẽ sau 1 2 4 1 0 1 16 184 96 128 ô i,j 8 0 1 1 58 109 194 64 32 16 1 1 0 12 134 131 Hình 1 Hình 2 (bên trái: MIN1, bên phải: MIN2) - 3 Bài tập cơ bản Tập I Ta ứng các ô này với các số 1, 2, 4, 8, 16, 32, 64, 128 nh hình 1. Khi đó ta lập một mảng MIN2[1 M,1 N] nh sau: MIN2[i,j] bằng tổng các số hạng có dạng X.Y trong đó X là số ứng với một ô kề cạnh với nó, Y bằng 1 hay 0 tuỳ theo ô đó có hay không có mìn, ô [i,j] có bao nhiêu ô kề cạnh thì tổng có bấy nhiêu số hạng. Trong hình 2 cho ví dụ về cách lập mảng MIN2 ứng với tình trạng mìn cho bởi mảng MIN1. Viết chơng trình làm các việc sau: 1. Đọc từ file MIN1.TXT mảng MIN1 cho biết tình trạng mìn theo cách thứ nhất, trong đó dòng thứ nhất ghi hai số nguyên dơng M, N <=100, trong M dòng sau, dòng thứ i ghi N số lần lợt là MIN1[i,1], . ., MIN1[i,N]. Ghi ra file MIN1-2.TXT mảng MIN2 thể hiện tình trạng mìn theo cách thứ hai, mỗi dòng của mảng MIN2 ghi thành một dòng của file. 2. Đọc từ file MIN2.TXT mảng MIN2 cho biết tình trạng mìn theo cách thứ nhất, trong đó dòng thứ nhất ghi hai số nguyên dơng M, N <=100, trong M dòng sau, dòng thứ i ghi N số lần lợt là MIN2[i,1], . ., MIN2[i,N]. Ghi ra file MIN2-1.TXT mảng MIN1 thể hiện tình trạng mìn theo cách thứ hai, mỗi dòng của mảng MIN1 ghi thành một dòng của file. Bài 24.Viết chơng trình làm các việc sau: 1. Nhập từ bàn phím hai xâu ký tự S1 và S2. 2. Ta có thể dùng một trong ba loại phép biến đổi sau: BD1: xoá một ký tự nào đó trong xâu, BD2: thêm một ký tự nào đó vào một vị trí nào đó của xâu, BD3: thay một ký tự nào đó trong xâu bằng một ký tự khác. Hãy thông báo ra file OUT.TXT liệu có thể dùng một số phép biến đổi thuộc ba loại trên để biến đổi S1 thành S2 không, quy cách thông báo nh sau: ví dụ S1 = ptsddf, S2 = tsgldds, thì ta phải thông báo nh sau: Biến đổi đợc ptslddf - xoá p/1 => tslddf tslddf - thêm g/3 => tsgdldf tsgdldf - thay f/7/s => tsgldds 3. Trong trờng hợp biến đổi đợc, hãy tìm một cách biến đổi dùng ít phép biến đổi nhất và thông báo tiếp vào file OUT.TXT theo quy cách nh trên. Bài 25. Cho một bảng vuông cạnh dài N đơn vị, N nguyên dơng, 3<=N<=25. Bảng đợc chia thành NxN ô vuông bằng nhau bằng các đờng song song với các cạnh.Trên một số ô không nằm trên cạnh của bảng có đặt vật cản nhng bảng có mái che nên không biết đợc vật cản nằm ở những ô nào. Ta có thể dùng một quả bóng lăn từ ngoài vào bảng theo các dòng/cột của bảng. Khi đó diễn biến chuyển động của quả bóng nh sau: TH1. Nếu quả bóng gặp ô có vật cản, nó quay lại ngợc chiều. TH2. Nếu quả bóng đi tiếp súc với một ô có vật cản, nó đổi hớng 90 o theo hớng vuông góc với cạnh tiếp súc ngay tại ô kề đỉnh với ô chứa vật cản. TH1 sẽ xẩy ra khi đồng thời có cả TH1 và TH2. TH3. Nếu quả bóng tiếp súc với hai ô có vật cản, nó sẽ quay lại ngợc chiều Nhập từ file INP.BL1 số nguyên dơng N, 3<=N<=100 ghi ở dòng thứ nhất, trong N dòng sau mỗi dòng ghi N số 0/1, dòng thứ i+1 là tình trạng các ô của dòng i của bảng trong đó 1/0 tơng ứng là có/không có vật cản. Dòng thứ N+2 ghi một xâu ký tự có một trong các dạng sau thể hiện cách lăn quả bóng vào bảng. - D-U-1 (có nghĩa là bóng lăn vào dòng U theo hớng từ ô [U,1]) - D-U-N (có nghĩa là bóng lăn vào dòng U theo hớng từ ô [U,N]) - C-U-1 (có nghĩa là bóng lăn vào cột U theo hớng từ ô [1,U]) - C-U-N (có nghĩa là bóng lăn vào cột U theo hớng từ ô [N,U]) - 4 Bài tập cơ bản Tập I In ra file OUT.BL1 dãy các ô liên tiếp của bảng trên hành trình của quả bóng, mỗi ô ghi trên một dòng gồm hai số là số dòng và số cột của ô đó. Ví dụ. Trong hình vẽ sau trong đó ô ghi chữ X là ô có vật cản. 1 2 3 4 5 6 1 2 X X 3 X 4 5 X X 6 Nếu xâu ký tự là C-4-6 thì hành trình của quả bóng sẽ là: 6 4 6 3 Nếu xâu ký tự là D-3-6 thì hành trình của quả bóng sẽ là 3 6 3 5 4 5 3 5 4 6 Bài 26. Cho một dãy N viên bi gồm 3 mầu xanh, trắng, đỏ xếp lẫn lộn. Bằng cách đổi chỗ từng cặp viên bi cho nhau, hãy xếp lại dãy bi trên theo trình tự xanh trớc, trắng giữa, đỏ sau. Yêu cầu cần dùng một số ít nhất phép đổi chỗ. Dữ liệu vào đợc cho bởi file INP1.TXT. Dòng thứ nhất ghi số nguyên dơng N<=1000. Trong N dòng tiếp theo, mỗi dòng ghi ở vị trí đầu tiên một ký tự thuộc ba loại: X, T, D thể hiện dãy bi ban đầu. Dữ liệu ra ghi vào file OUT1.TXT trong đó dòng thứ nhất ghi số lợng phép đổi chỗ cần dùng. Trong những dòng tiếp theo, mỗi dòng ghi một phép đổi chỗ dới dạng hai số p q có nghĩa là đổi chỗ các viên bi ở hai vị trí p và q cho nhau. Trình tự viết các dòng là trình tự các phép đổi chỗ đợc tiến hành. Thời gian chạy chơng trình: 20 giây. Ví dụ INP1.TXT OUT1.TXT 9 4 T 1 3 T 4 7 - 5 Bài tập cơ bản Tập I X 9 2 D 5 9 D D T D X Bài 27. Tổng giám đốc một công ty muốn tổ chức một buổi liên hoan cho các đồng nghiệp trong công ty. Mỗi cán bộ của công ty ngoại trừ tổng giám đốc đều có đúng một cấp trên trực tiếp của mình. Cán bộ P đợc gọi là cấp trên của cán bộ Q nếu có một dãy cán bộ P1, P2, . ., Pk, k>=2, sao cho P=P1, Pk=Q và với 1<=i<=k-1, Pi là cấp trên trực tiếp của P i+1 . Để cho mọi cán bộ đợc thoải mái, tổng giám đốc không muốn một cán bộ bất kỳ nào ngồi cùng một bàn với cấp trên của mình. Hãy tính xem cần tối thiểu bao nhiêu bàn dùng cho buổi liên hoan theo yêu cầu của TGĐ. Dữ liệu vào đợc cho bởi file INP.TXT trong đó dòng thứ nhất ghi số nguyên dơng N <=200 là số lợng toàn thể cán bộ của công ty, các cán bộ của công ty có tên từ 1 đến N, TGĐ có tên 1 và không có cấp trên. Dòng thứ hai ghi số nguyên dơng K, 2 <= k <= 10, là số ngời tối đa có thể ngồi trong một bàn (chú ý rằng khi xếp, không nhất thiết mọi bàn phải đủ K ngời). Dòng thứ ba ghi N số trong đó số thứ nhất là số 0, số thứ i là tên cấp trên trực tiếp của cán bộ i. Dữ liệu đúng nh mô tả. Ghi ra file OUT.TXT số lợng M bàn cần dùng. Trong M dòng tiếp theo, dòng thứ i ghi tên cán bộ ngồi bàn i. Ví dụ INP.TXT OUT.TXT 13 5 4 0 1 9 9 9 2 2 1 1 8 8 10 Thời gian chạy chơng trình: Không quá 30 giây. Bài 28. Có N quả cầu với số hiệu là 1, 2, . . ., N, N<=200. Biết trọng lợng của quả cầu 1 là M[1], của quả cầu N là M[N]. Có hằng số D sao cho với mọi i, 1<i<N, ta có M[i] = d + (M[i-1]+M[i+1])/2 Nhập từ bàn phím năm số: N, J - nguyên dơng, 1<=J<=N, M[1], M[N], D - ba số thực. Thông báo ra màn hình khối lợng M[J] của quả cầu J. Bài 29. Có N lá Bài với các số hiệu 1, 2, . . ., N, N<=50, trên lá Bài i ghi một số nguyên dơng F[i], 1<=F[i]<=N. Hãy tìm một số nhiều nhất các lá Bài sao cho tập các số hiệu của chúng trùng với tập các số ghi trên các lá Bài đó. Dữ liệu vào cho bởi file INP.BL2 trong đó dòng thứ nhất ghi số N nguyên dơng. Trong các dòng tiếp theo ghi mỗi dòng 10 số (cho tới khi hết N số) lần lợt là các số ghi trong các lá Bài từ lá Bài 1 đến lá Bài N. Dữ liệu ra ghi ra file OUT.BL2 trong đó dòng thứ nhất ghi số lợng lá bài. Trong các dòng tiếp theo, mỗi dòng ghi 10 số hiệu của các lá Bài đợc chọn, các số hiệu ghi theo thứ tự tăng dần cho tới hết. Ví dụ INP.BL2 14 6 5 1 3 4 2 8 10 7 9 3 2 1 9 OUT.BL2 10 - 6 Bài tập cơ bản Tập I 1 2 3 4 5 6 7 8 9 10 Bài 30. Bắt đầu từ thời điểm 0, một ngời làm N việc với số hiệu từ 1 đến N, N<=200. Với 1<=i<=N, việc i cần làm trong T[i] đơn vị thời gian và mỗi đơn vị thời gian từ thời điểm 0 đến lúc bắt đầu làm nó, ngời đó bị phạt một lợng tiền C[i]. Khi đã làm một việc nào thì phải làm xong mới chuyển sang làm việc khác. Hãy thu xếp trình tự các việc làm sao cho tổng số tiền bị phạt là ít nhất. Dữ liệu vào đợc cho bới file INP.BL trong đó dòng thứ nhất ghi số nguyên dơng N. Với 1<=i<=N, dòng thứ i+1 ghi hai số thực T[i] và C[i]. Dữ liệu ra ghi trong file OUT.BL. Dòng thứ nhất ghi tổng số tiền bị phạt. Từ dòng thứ hai ghi mỗi dòng 1 cặp số: số thứ nhất là số hiệu việc, số thứ hai là thời điểm bắt đầu việc. Trình tự từ trên xuống dới là trình tự lần lợt làm các việc. Bài 31. Cho xâu S chỉ gồm các dấu mở và đóng ngoặc tròn (, ). Hãy xét xem liệu có thể viết thêm một số toán hạng và dấu phép toán giữa các dấu đó để nhận đợc một biểu thức số học đúng không. Dữ liệu vào đợc cho bởi file INP.BL trong đó mỗi dòng ghi một xâu ký tự. Với mỗi dòng đọc đợc của file INP.BL, có ba khả năng: - Nếu xâu tơng ứng chứa ký tự khác với ( và ), ghi vào file OUT.BL dòng chữ KHONG HOP LE - Nếu xâu chỉ gồm các ký tự ( và ) và có thể viết thêm một số toán hạng và dấu phép toán giữa các dấu đó để nhận đợc một biểu thức số học đúng thì ghi vào file OUT.BL dòng chữ DUNG - Nếu xâu chỉ gồm các ký tự ( và ) nhng không thể viết thêm một số toán hạng và dấu phép toán giữa các dấu đó để nhận đợc một biểu thức số học đúng thì ghi vào file OUT.BL dòng chữ KHONG DUNG Ví dụ INP.BL OUT.BL (((abc)) KHONG HOP LE ((()()))() DUNG (()(()())))) KHONG DUNG Bài 32. Cho một đồ thị vô hớng N đỉnh đánh số từ 1 đến N, N<=100, có ma trận kề A[1 N,1 N] và hai đỉnh U, V bất kỳ. Hãy tìm đờng đi từ U đến V (nếu có) qua ít cạnh nhất. Dữ liệu vào đợc cho bởi file INP.BL trong đó dòng thứ nhất ghi 3 số nguyên dơng N, U, V, trong N dòng tiếp theo, dòng thứ i ghi N số A[i,1], . ., A[i,N]. Kết quả ghi ra file OUT.BL nh sau: - Nếu không có đờng đi, ghi dòng chữ KHONG CO DUONG DI, - Nếu có đờng đi, ghi hai dòng: dòng thứ nhất ghi số cạnh, dòng thứ hai ghi các đỉnh lần lợt trên đờng đi từ U đến V. Bài 33. Cho một đồ thị có hớng N đỉnh, N<=100, có ma trận kề A[1 N,1 N] và hai đỉnh U, V bất kỳ. Hãy tìm đờng đi từ U đến V (nếu có) qua nhiều cung nhất mà mỗi cung không đi hơn một lần. Dữ liệu vào đợc cho bởi file INP.BL trong đó dòng thứ nhất ghi 3 số nguyên dơng N, U, V, trong N dòng tiếp theo, dòng thứ i ghi N số A[i,1], . ., A[i,N]. Kết quả ghi ra file OUT.BL nh sau: - Nếu không có đờng đi, ghi dòng chữ KHONG CO DUONG DI, - 7 Bài tập cơ bản Tập I - Nếu có đờng đi, ghi hai dòng: dòng thứ nhất ghi số cung, dòng thứ hai ghi các đỉnh lần lợt trên đờng đi từ U đến V. Bài 34. Cho số nguyên dơng N<=50 và 2N số thực X1, Y1, X2, Y2, . . ., XN, YN mà với 1<=i<=N, (Xi,Yi) là toạ độ của điểm Mi. Tìm điểm M(X,0) trên trục hoành sao cho khoảng cách lớn nhất từ M đến các điểm Mi là nhỏ nhất có thể đợc. Dữ liệu vào đợc cho bởi file INP.BL trong đó dòng thứ nhất ghi số N, trong N dòng tiếp theo, dòng thứ i ghi hai số thực Xi và Yi. Rhông báo ra màn hình khoảng cách cần tìm. Bài 35. Cho một thùng dung tích có thể xem là vô hạn và N bình có dung tích V1, V2, . . ., VN lít. Liệu có thể dùng N bình này để đổ vào thùng đúng V lít nớc không? Khi dùng mỗi bình để đổ nớc vào thùng, bình đó phải chứa đầy nớc. Dữ liệu vào đợc cho bởi file INP.BL, dòng thứ nhất ghi số nguyên dơng N<=20 và số nguyên dơng V. Trong N dòng tiếp theo, dòng thứ i ghi số nguyên dơng Vi. Kết quả ghi ra file OUT.BL nh sau: - Nếu không đợc, ghi dòng chữ KHONG DUOC - Nếu có thể đợc, ghi dòng chữ CO THE, tiếp theo là N dòng, dòng thứ i ghi số lợng bình nớc có dung tích Vi cần đổ vào thùng. Bài 36. Cho N xâu ký tự A1, A2, . ., AN, N<=100, độ dài mỗi xâu Ai không quá 10, và một xâu ký tự S. Hãy tìm mọi cách biểu diễn S dới dạng ghép của các xâu ký tự Ai, mỗi xâu Si có thể xuất hiện trong biểu diễn đó nhiều lần. Dữ liệu vào đợc cho bởi file XAU.TXT trong đó dòng thứ nhất ghi xâu S, dòng thứ hai ghi số N, trong N dòng tiếp theo, dòng thứ i ghi xâu Ai. Kết quả ghi ra file KQ.TXT nh sau: - Nếu không có biểu diễn, ghi dòng chữ KHONG CO - Nếu có biểu diễn, ghi mỗi biểu diễn trên một dòng theo quy cách nh ví dụ. Ví dụ về hai file dữ liệu vào và ra: XAU.TXT KQ.TXT abcdef A[1]A[2]A[3] 11 A[1]A[2]A[10]A[11] ab A[1]A[8]A[5] cd A[1]A[8]A[9]A[3] ef A[1]A[8]A[9]A[10]A[11] abc A[4]A[5] def A[4]A[9]A[3] a b c d e f A[4]A[9]A[10]A[11] A[6]A[7]A[2]A[3] A[6]A[7]A[2]A[10]A[11] A[6]A[7]A[8]A[5] A[6]A[7]A[8]A[9]A[3] A[6]A[7]A[8]A[9]A[10]A[11] Bài 37. Hãy tìm hai số nguyên dơng P, Q sao cho có số A mà khi viết trong cơ số P có dạng 0,(ab), (ab) là chu kỳ của A và khi viết trong dạng cơ số Q có dạng 0,(ba). Bài 38. Có N thành phố với các tên từ 1 đến N, N<=100. Mảng C[1 N,1 N] thoả mãn các điều kiện: C[i,j] = C[j,i] = 0 nếu không có đờng đi từ i đến j và bằng 1 nếu có đờng đi từ i đến j, các đờng đi đều là hai chiều. Hãy xét xem có hay không một hành trình sao cho mỗi đờng đi giữa các thành phố đợc đi đúng một lần. - 8 Bài tập cơ bản Tập I Dữ liệu vào đợc cho bởi file INP.BL trong đó dòng thứ nhất ghi số nguyên dơng N, trong N dòng tiếp theo, dòng thứ i ghi N số C[i,1], . ., C[i,N]. Kết quả ghi ra file OUT.BL nh sau: - Nếu không có thể, hãy thông báo ra màn hình dòng chữ KHONG THE - Nếu có thể, hãy viết ra màn hình các thành phố lần lợt đi trên hành trình này. Bài 39. Ngòi bán hàng A chỉ có M tờ tiền với mệnh giá lần lợt là A[1], A[2], . . ., A[M] đồng. Ngời mua B chỉ có N tờ tiền, N<=30 với mệnh giá lần lợt là B[1], B[2], . . ., B[N]; M, N <=50, các số A[i] và B[j] đều là nguyên dơng. Hãy tìm số nguyên dơng P lớn nhất có thể đợc sao cho nếu B mua không quá P đồng, A vẫn có thể bán đúng đợc số tiền đó bằng cách chỉ sử dụng các tờ tiền nói trên của cả hai ngời. Dữ liệu vào đợc cho bởi file INP.BL trong đó dòng thứ nhất ghi hai số nguyên dơng M, N, dòng thứ 2 ghi M số nguyên dơng A[1], . ., A[M], dòng thứ 3 ghi N số nguyên d- ơng B[1], . ., B[N]. Thông báo số P ra màn hình. Bài 40. Nhập từ bàn phím số thực dơng R. Hãy tìm cách biểu diễn R thành tổng các số thực dơng R1, . ., Rk, các Ri<=4, sao cho R cũng bằng tích của R1, . ., Rk. Kết quả ghi ra màn hình các số R1, . ., Rk tìm đợc. Bài 41. Nhập từ bàn phím số nguyên dơng N<=30000. Hãy tìm cách biểu diễn N thành tổng các số nguyên dơng A1, . . , Ak sao cho tích các số A1, . ., Ak là lớn nhất có thể đợc. Kết quả ghi ra màn hình tích các số Ai. Bài 42. Một thày giáo gặp N học sinh có tên 1, 2, . ., N. Học sinh i có mặt lúc T[i] và sẽ gặp thày trong khoảng thời gian C[i]. Thày giáo sẽ gặp lần lợt từ học sinh 1 đến học sinh N, nếu học sinh i đến vào giờ T[i] nhng thày cha gặp xong các học sinh 1, 2, . ., i-1 thì học sinh i phải đợi đến lợt mình. Giả sử thày giáo bắt đầu sẵn sàng gặp học sinh từ thời điểm quy ớc là 0. Hãy tính xem tại thời điểm nào thày giáo gặp xong tất cả N học sinh và ghi ra màn hình. Các số N, C[1], . ., C[N], T[1], . ., T[N] đều là nguyên d- ơng và có thể nhập từ file hoặc từ bàn phím. Kết quả thông báo ra màn hình. Bài 43. Có N ngời có tên tơng ứng là 1, 2, . ., N và tình trạng quen biết của N ngời này đợc cho bởi mảng đối xứng A[1 N,1 N] trong đó A[i,j]=A[j,i]=1 nếu i quen j và bằng 0 nếu i không quen j. Hãy xét xem liệu có thể chia N ngời đó thành 2 nhóm mà trong mỗi nhóm, hai ngời bất kỳ đều không quen nhau? Dữ liệu vào đợc cho bởi file INP.BL trong đó dòng thứ nhất ghi số nguyên dơng N<=100, trong N dòng tiếp theo, dòng thứ i ghi N số A[i,1], . ., A[i,N]. Kết quả ghi ra file OUT.BL nh sau: - Nếu không có thể, hãy thông báo ra màn hình dòng chữ KHONG THE - Nếu có thể, hãy viết ra màn hình hai dòng, dòng thứ nhất tên những ngời thuộc nhóm 1, dòng thứ hai tên những ngời thuộc nhóm 2. Bài 44. Trên trục số cho N đoạn thẳng [Ai, Bi], 1<=i<=N, mà Ai và Bi là toạ độ của các điểm đầu mút đoạn i trên trục số. Cho một điểm M với toạ độ X. Hãy xét xem tình huống nào trong hai tình huống sau xảy ra: 1. M không thuộc đoạn nào trong số N đoạn trên, khi đó cần thông báo rõ đoạn lớn nhất chứa M không có điểm trong chung (có thể chung đầu mút) với N đoạn nói trên. 2. M thuộc một số đoạn trong số N đoạn trên, khi đó cần thông báo rõ bao nhiêu đoạn và những đoạn nào. Các số N, X và Ai, Bi nhập từ file hoặc bàn phím. Kết quả thông báo ra màn hình. - 9 Bài tập cơ bản Tập I Bài 45. Một số nguyên dơng N rất lớn có thể đợc cho bởi số nguyên dơng P, P số nguyên dơng A 1 , . ., A P và P xâu ký tự chỉ gồm các chữ số thập phân S 1 , . ., S P . Khi đó N sẽ nhận đợc bằng cách viết S 1 liên tiếp A 1 lần rồi S 2 liên tiếp A 2 lần, . ., S P A P lần Ví dụ với P=3, A1=3, S1=123, A2=4, S2=0, A3=2, S3=45 thì ta có N = 12312312300004545 Giả sử số N đợc cho nh vậy và cho một số nguyên dơng K không vợt quá số chữ số của N, hãy tìm cách gạch đi K chữ số của N để nhận đợc một số có giá trị nhỏ nhất. Các số P, K, A1, . ., AP, các xâu S1, . ., SP có thể nhập từ file hoặc từ bàn phím. Thông báo số nhận đợc ra màn hình. Bài 46. Nhập từ bàn phím một xâu ký tự S. Thông báo ra màn hình xâu X ngắn nhất sao cho S là ghép của một số lần liên tiếp của X (có thể X=S). Bài 47. Biết dạng nhị phân B1B2 . . BM của một số nguyên dơng N mà M rất lớn do đó ta không thể chuyển nó thành dạng thập phân một cách thông thờng. Hãy tìm phần d của phép chia N cho 15 trong hệ thập phân. Dạng nhị phân của số N nhập từ bàn phím nh một xâu ký tự chỉ gồm các ký tự 0 và 1. Hãy thông báo ra màn hình kết quả. Bài 48. Một nhóm gồm N ngời dánh số từ 1 đến N (N<=100) ngồi quanh một bàn tròn theo thứ tự từ 1 đến N theo chiều kim đồng hồ và chơi một trò chơi nh sau: một ng- ời nào đó bắt đầu đếm từ số 1, ngời tiếp theo (theo chiều kim đồng hồ) đếm số 2, cứ tiếp tục nh vậy cho tới khi ai đếm đến số S thì ra khỏi bàn. Tiếp tục, ngời ngồi cạnh đó lại bắt đầu đếm từ số 1 cho tới khi ai đếm đến số S thì lại ra khỏi bàn, . . . Nhập từ bàn phím các số nguyên dơng N, S và L. 3.1. Nếu bắt đầu đếm từ ngời số 1 thì ngời nào còn lại cuối cùng? 3.2. Nếu ngời còn lại cuối cùng là ngời thứ L thì bắt đầu đếm từ ngời nào? Các câu trả lời viết ra màn hình. Bài 49. Nhập hai số nguyên dơng M và N. In ra mọi nghiệm nguyên không âm của phơng trình X 1 + X 2 + . . + X N = M Bài 50. Viết chơng trình làm các việc sau: - Nhập một số thập phân bất kỳ không quá 1000000 và có không quá 6 số lẻ sau dấu phảy. - Viết ra màn hình dạng viết của số thập phân này. Ví dụ nếu nhập số 13.24, phải thông báo ra màn hình dòng chữ mời ba phẩy hai mơi bốn. Bài 51. Viết chơng trình làm các việc sau: - Nhập từ bàn phím một xâu ký tự S độ dài không quá 40 chỉ gồm các ký tự 0 và 1. - Biến đổi xâu S thành xâu S1 nh sau: đọc từ trái sang phải xâu S, thay những xâu con chỉ gồm các ký tự 1 liên tiếp giữa các ký tự 0 bởi số thập phân nhận nó làm dạng nhị phân và thay những xâu con chỉ gồm các ký tự 0 liên tiếp giữa các ký tự 1 bởi dạng nhị phân của độ dài của nó, giữa các đoạn này đặt ký tự rỗng ngăn cách. Thông báo ra màn hình xâu S1. Ví dụ nếu S = 000111100 thì S1 = 11 15 10. - Giả sử biết S1 đợc nhập từ bàn phím, hãy khôi phục lại xâu S và viết ra màn hình. Bài 52. Viết chơng trình làm các việc sau: 1. Nhập từ file text DT.TXT số nguyên dơng N ghi ở dòng thứ nhất, N<=100 và mảng A[1 N,1 N] là ma trận kề của một đồ thị vô hớng, dòng thứ i+1 của file ghi dòng thứ i của mảng A. - 10 [...].. .Bài tập cơ bản Tập I 2 Hãy xét xem đồ thị đó có bao nhiêu thành phần liên thông và mỗi thành phần liên thông gồm các đỉnh nào 3 Nhập từ bàn phím hai số nguyên dơng U và V, 1 . Bài tập cơ bản Tập I Các bài tập cơ bản Bài 1. Viết chơng trình nhập số nguyên dơng N<=1000 và N số nguyên A[1],. hình các ô vuông có điểm chung - 1 Bài tập cơ bản Tập I với đờng chéo của hình chữ nhật đi từ góc trái trên của ô [1,1] đến góc phải dới của ô [M,N]. Bài 9. Viết chơng trình nhập số nguyên. B, C có lập thành một tam giác không? - 2 Bài tập cơ bản Tập I 2. Nếu ABC là một tam giác, hãy xét xem điểm D có nằm bên trong tam giác này không? Bài 20. Viết chơng trình nhập số nguyên dơng

Ngày đăng: 07/08/2014, 11:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan