intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đề thi Toán - Tin quốc tế

Chia sẻ: Trần Bá Trung | Ngày: | Loại File: PDF | Số trang:49

139
lượt xem
18
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cùng tham khảo đề thi học sinh giỏi môn Toán giúp các em ôn tập lại các kiến thức đã học, đánh giá năng lực làm bài của mình và chuẩn bị kì thi học sinh giỏi được tốt hơn với số điểm cao như mong muốn.

Chủ đề:
Lưu

Nội dung Text: Đề thi Toán - Tin quốc tế

  1. Bai toan 1-99 1. Cửa hàng bán hoa Bài toán Tại một cửa hàng người ta muốn cắm một số loài hoa vào các chậu hoa nhỏ. Có tất cả F loại hoa và V chậu hoa (F
  2. Bai Toan 3-99 3. Thành phố ngầm Bài toán Bản đồ một thành phố ngầm được biểu diễn bởi một lưới ô vuông. Các ô vuông mở ký hiệu là 'O', các ô vuông tường ký hiệu là 'W'. Bạn sẽ xuất phát tại một vị trí được gọi bởi thủ tục (hàm số) start. Bạn sẽ phải tìm hiểu và di chuyển trong thành phố bởi hai thủ tục (hàm số) look và move. Hàm look(dir) với dir chỉ hướng bao gồm 'N', 'S', 'E' và 'W' chỉ ra các hướng Bắc, Nam, Đông, Tây. Hàm này sẽ trả lại các giá trị 'O' hay 'W' nếu ô bên cạnh theo hướng dir có giá trị 'O' hay 'W'. Bạn sẽ dùng thủ tục move(dir) để chuyển động sang các ô vuông bên cạnh của lưới. Tất nhiên bạn chỉ được phép đi vào các ô vuông mở. Nhiệm vụ của bài toán là phải tìm ra vị trí xuất phát ban đầu của bạn sau ít lần sử dụng hàm look nhất. Khi đã tìm thấy bạn phải thông báo chúng bằng cách gọi thủ tục finish (x,y) với x, y là toạ độ của vị trí tìm được. Hạn chế kỹ thuật • 3
  3. Hướng dẫn cho chương trình Pascal Bạn phải có dòng sau trong chương trình: uses undertpu; Unit này chứa các hàm và thủ tục sau: Procedure start; {cần phải gọi đầu tiên} function look(dir: char):char; procedure move(dir:char); procedure finish(x,y:integer); {phải gọi cuối cùng } Hướng dẫn cho chương trình C/C++ Bạn phải có dòng sau trong chương trình: #include "under.h" Tệp này chứa các hàm sau: void start(void); /* cần phải gọi đầu tiên */ char look(char); void move(char); void finish(int, int); /* phải gọi cuối cùng */ Khi tạo project có tên under, bạn phải bổ sung vào project chương trình của bạn và thư viện các tương tác với tên underobj.obj. Chú ý nên sử dụng mô hình bộ nhớ LARGE để dịch chương trình. Page 2
  4. 3 Trắc nghiệm Chương trình của bạn chỉ được phép chạy trong 5 giây. Để đạt được điểm tối đa A, số các lần gọi hàm look, x, của chương trình cần phải nhỏ hơn hoặc bằng M là số đ-a ra bởi chương trình kiểm tra. Chú ý rằng M được chọn lớn hơn minimum. Số M được chọn không phụ thuộc vào hướng và thứ tự của việc tìm kiếm. Bạn có thể đạt điểm khi số lần gọi hàm look lớn hơn M như-ng nhỏ hơn 2M. Số điểm đạt được sẽ là tròn số của công thức sau đây: Các lỗi khác do chương trình tạo ra đều sẽ bị 0 điểm. Thử nghiệm chương trình Để chạy thử chương trình, bạn hãy tạo một text file có tên place.txt bao gồm một dòng có chứa tọa độ của một vị trí trên bản đồ. Bạn hãy chạy chương trình và xem kết quả trong tệp result.txt. File result.txt chứa hai dòng, dòng đầu tiên ghi hai toạ độ x và y để gọi thủ tục finish(x,y). Dòng thứ hai ghi dòng chữ "You used look nnn times" (Bạn đã dùng hàm look nnn lần). Chú ý rằng việc thử này chỉ kiểm tra tính tương thích của chương trình với các thư viện được tạo ra chứ tuyệt nhiên không liên quan gì đến lời giải thực sự của bài toán. Page 3
  5. Bai toan 2-99 2. Các mã ẩn Bài toán Xét tập các mã, mỗi mã là một từ có phân biệt chữ in hoa và chữ in thường chỉ bao gồm các chữ cái tiếng Anh. Ta định nghĩa dãy phủ của một mã là xâu ký tự có chứa tất cả các chữ cái của mã được xuất hiện đúng theo thứ tự và có ký tự đầu tiên và cuối cùng là của mã. Ví dụ AuLvL là dãy phủ của ALL. Hai xâu con được gọi là không gối chồng lên nhau nếu vị trí bắt đầu của xâu này lớn hơn vị trí cuối của xâu kia hoặc ngược lại. Cho trước một văn bản text và một tập hợp các mã. Một nghiệm của bài toán là một tập hợp các phần tử, một phần tử bao gồm một mã và một dãy phủ của mã đó thoã mãn các điều kiện sau: a) Các dãy phủ trên là không gối chồng lên nhau từng đôi một. b) Mỗi dãy phủ có độ dài
  6. tệp này. • File text.inp chứa dãy các ký tự (kết thúc bởi ký tự xuống dòng, sau đó là ký tự kết thúc file), file này không chứa dấu cách. Output Output file là file text codes.out. • Dòng đầu tiên ghi số tổng chiều dài các mã của nghiệm bài toán • Các dòng tiếp theo mỗi dòng là phần tử của nghiệm. Mỗi dòng bao gồm ba số tự nhưiên i, s, e. Với i là số thứ tự mã, s,e là vị trí đầu và cuối của dãy phủ t-ơng ứng của mã này trong văn bản. Thứ tự các hàng này không quan trọng. Ví dụ words.inp 4 RuN RaBbit HoBbit StoP codes.out 12 2 9 21 147 1 24 28 text.inp StXRuYNvRuHoaBbvizXztNwRRuuNNP (Chú ý: Đoạn mã ẩn thu được từ văn bản trên sẽ là "RuN RaBit RuN". (Một phương án khác có thể là "RuN HoBbit RuN"). Đoạn mã này không thể hiện ra ở output.) Trắc nghiệm Chương trình của bạn chỉ được chạy trong 10 giây. Page 2
  7. Output Đầu ra là file text có tên flower.out gồm 2 dòng: • Dòng đầu tiên ghi tổng số điểm thẩm mỹ của cách xếp. • Dòng thứ hai ghi lần l-ợt F số, số thứ k ghi số chậu hoa của loài hoa thứ k đã xếp. Ví dụ flower.inp 3 5 7 23 -5 -24 16 5 21 -4 10 23 -21 5 -4 -20 20 flower.out 53 2 4 5 Trắc nghiệm Chương trình của bạn chỉ được chạy trong hai giây. Page 2
  8. Bai toan 1-98 1. Contact Tiến sỹ Astro Insky làm việc ở một trung tâm thiên văn học. Gần đây, bà ta phát hiện thấy những sóng ngắn rất kỳ lạ phát ra trực tiếp từ trung tâm giải ngân hà. Liệu những sóng kỳ lạ này có mang theo những sinh vật sống thông minh từ ngoài hành tinh đến không? Hay đó chỉ là những hoạt động bình thường của tâm các hành tinh? Bài toán Bạn phải giúp tiến sỹ Insky tìm ra câu trả lời bằng cách cung cấp các công cụ phân tích mẫu bit dữ liệu trong các file bà ghi lại được. Tiến sỹ Insky muốn tìm các chiều dài chuỗi bit giữa A và B, chúng được lặp lại nhiều lần trong file dữ liệu mỗi ngày. Trong mỗi trường hợp, người ta đều thấy số lần lặp lại (N) là lớn nhất. Trong bài này, ta chỉ xét số lần lặp lại ít nhất là 1. Input File CONTACT.IN chứa nhiều dữ liệu dưới dạng: Dòng đầu tiên chứa số nguyên A chỉ chiều dài chuỗi bit tối thiểu. Dòng thứ hai chứa số nguyên B chỉ chiều dài chuỗi bit tối đa. Dòng thứ 3 chứa số nguyên N chỉ số lần lặp lại lại của chuỗi bit. Dòng thứ 4 chứa một chuỗi các ký tự 0 và 1, kết thúc dòng là ký tự 2. Sample Input 2 4 10 010100100100010001111011000010100110011110000100100111100100000002 Dữ liệu nào cho thấy 10 mẫu chiều dài bít giữa 2 và 4 xuất hiện trong bảng bit 01010010010001000111101100001010011001111000010010011110010000000 Trong ví dụ này, mẫu bit 100 xuất hiện 12 lần, mẫu bit 1000 xuất hiện 5 lần, mẫu xuất hiện nhiều nhất là 00. Output File CONTACT.OUT là một báo cáo với N dòng, chỉ ra số các chuỗi bit lặp lại nhiều nhất và các mẫu bit đó. Danh sách chuỗi bit tìm được được xếp theo thứ tự lặp lại ít dần và các dòng hiển thị có dạng trong ví dụ dưới. Các mẫu có số lần lặp lại bằng nhau được xếp theo thứ tự ngược lại. Nếu số các dạng chuỗi lặp nhỏ hơn N thì Output có số dòng ít hơn N. Sample Output Page 1
  9. Bai toan 3-98 3. Party Lamps Để thắp sáng buổi dạ hội tại Cuộc thi Olympic Tin học quốc tế năm 1998, chúng ta có một bộ gồm N ngọn đèn màu đánh số từ 1 đến N. Các ngọn đèn được nối với nhau bằng bốn nút: nút 1 khi bấm nút này, tất cả các ngọn đèn đều đổi trạng thái: các ngọn đèn đang ở chế độ ON sẽ chuyển thành OFF và tất cả các ngọn đèn ở chế độ OFF sẽ chuyển thành ON. nút 2 thay đổi trạng thái của tất cả các ngọc đèn mang số lẻ. nút 3 thay đổi trạng thái của tất cả các ngọn đèn mang số chẵn. nut 4 thay đổi trạng thái của tất cả các ngọn đèn được đánh số dạng 3K+1 (với K>=0), ví dụ: 1,4,7,... Có một chiếc máy đếm C ghi lại tổng số lần bấm nút. Khi buổi dạ tiệc bắt đầu, tất cả các đèn đều ở trạng thái ON và máy đếm C được đặt ở 0. Bài toán Cho trước giá trị đếm máy C ghi được và thông tin trạng thái cuối cùng của một số ngọn đèn. Hãy viết chương trình xác định trạng thái cuối cùng có thể (không lặp lại) của N ngọn đèn theo thông tin cho trước. Input File PARTY.IN chứa bốn dòng: số ngọn đèn N, số lần bấm đèn C và trạng thái cuối cùng của một số ngọn đèn. Dòng đầu tiên chứa số N và dòng thứ hai chứa giá trị cuối cùng máy đếm C ghi nhận. Dòng thứ ba chứa số ngọn đèn ở trạng thái cuối cùng là ON, các thông tin được ngăn cách bằng ký tự trống, cuối dòng có số nguyên -1. Dòng thứ tư chứa số ngọn đèn ở trạng thái cuối cùng là OFF, các thông tin cũng được ngăn cách bằng ký tự trống và kết thúc bằng số nguyên -1. Sample Input 10 1 -1 7 -1 Trong ví dụ này có tất cả 10 ngọn đèn và chỉ một nút đã được bấm. Ngọn đèn số 7 ở trạng thái cuối cùng là OFF. Output File PARTY.OUT phải chứa tất cả các trạng thái cuối cùng (không lặp lại) có thể của tất cả các ngọn đèn. Mỗi trạng thái phải được thể hiện trên một dòng riêng. Các trạng thái có thể được sắp xếp tuỳ ý Page 1
  10. ý. Mỗi dòng có N ký tự trong đó ký tự đầu tiên chỉ trạng thái của ngọn đèn số 1 và chữ số cuối cùng chỉ trạng thái của ngọn đèn N. Số 0 chỉ ngọn đèn ở trạng thái OFF và số 1 chỉ ngọn đèn ở trạng thái ON. Sample Output 0000000000 0110110110 0101010101 Trong trường hợp này, các ngọn đèn có thể ở ba trạng thái: tất cả các ngọn đèn đều ở trạng thái OFF; hoặc các ngọn đèn 1, 4, 7, 10 ở trạng thái OFF và các ngọn đèn 2, 3, 5, 6, 8, 9 ở trạng thái ON; hoặc các ngọn đèn 1, 3, 5, 7, 9 ở trạng thái OFF và các ngọn đèn 2, 4, 6, 8, 10 ở trạng thái ON. Ràng buộc Các tham số N và C thỏa mãn điều kiện: 10
  11. Bai Toan 2-98 2. Đêm đầy sao Nhìn lên bầu trời đêm, ta thấy những ngôi sao xuất hiện thành từng chòm với nhiều hình thù khác nhau. Chòm sao là một nhóm gồm các ngôi sao nằm theo đường ngang, đường dọc và đường chéo chòm sao. Một chòm sao không thể là một bộ phận của một chòm sao lớn khác. Các chòm sao có thể giống nhau. Hai chòm sao được gọi là giống nhau nếu chúng có hình dạng giống nhau và số các vì sao bằng nhau. Các chòm sao thường năm theo 8 hướng như hình 1 dưới đây. Hình 1. Tám chòm sao giống nhau Bầu trời đêm được biểu thị bằng một bản đồ là một ma trận hai chiều của các phần tử 0 và 1. Một ô chứa số 1 nếu ô đó chứa 1 vì sao và ô đó có số 0 nếu không có vì sao nào. Bài toán Cho trước bản đồ bầu trời, đánh dấu các chòm sao bằng các ký tự viết thường. Các chòm sao giống nhau được đánh dấu bằng cùng một ký tự, các chòm sao khác nhau được đánh dấu bằng các ký tự khác nhau. Bạn đánh dấu chòm sao bằng cách thay tất cả các số 1 trong chòm sao bằng ký tự viết thường. Input Trong file STARRY.IN, hai dòng đầu tiên lần lượt chứa chiều rộng W và chiều cao H của bản đồ bầu trời. Bản đồ bầu trời gồm H dòng, mỗi dòng có W ký tự. Sample Input 23 15 10001000000000010000000 01111100011111000101101 01000000010001000111111 00000000010101000101111 00000111010001000000000 00001001011111000000000 10000001000000000000000 Page 1
  12. 10000001000000000000000 00101000000111110010000 00001000000100010011111 00000001110101010100010 00000100110100010000000 00010001110111110000000 00100001110000000100000 00001000100001000100101 00000001110001000111000 Trong trường hợp này, bản đồ bầu trời có chiều ngang là 23 và chiều dọc là 15. Dữ liệu vào trong ví dụ trên minh họa cho bầu trời trong hình 2 dưới. Hình 2. Hình ảnh bầu trời Output File STARRY.OUT chứa một bản đồ tương tự bản đồ trong file STARRY.IN chỉ khác ở chỗ các chòm sao đã được đánh dấu thành các ký tự viết thường. Sample Output a000a0000000000b0000000 0aaaaa000ccccc000d0dd0d 0a0000000c000c000dddddd 000000000c0b0c000d0dddd 00000eee0c000c000000000 0000e00e0ccccc000000000 b000000e000000000000000 00b0f000000ccccc00a0000 0000f000000c000c00aaaaa 0000000ddd0c0b0c0a000a0 00000b00dd0c000c0000000 000g000ddd0ccccc0000000 00g0000ddd0000000e00000 0000b000d0000f000e00e0b 0000000ddd000f000eee000 Dưới đây là một kết quả từ dữ liệu vào ở trên. Bản đồ kết quả được thể hiện như hình 3 dưới. Page 2
  13. 2 Hình 3. Hình bầu trời với các chòm sao đã được đánh dấu Ràng buộc 0
  14. Dữ liệu ra cho Dữ liệu vào ở trên 23 00 15 10 01 12 100 11 001 000 11 10 010 8 0100 7 1001 0010 6 0000 111 5 1000 110 011 4 1100 0011 0001 Ràng buộc File input có thể lớn đến 2 MB. Tham số A, B và N thỏa mãn điều kiện: 0 < N
  15. 2-2001 Ioiwari Game Bài toán Mancala là trò chơi với các viên bi và các hố đã được con người chơi từ rất lâu. Bài toán này giới thiệu một dạng của trò chơi. Trò chơi giành cho hai người trên một bảng hình tròn có bảy hố trên viền bảng và mỗi người có một bờ. Khi trò chơi bắt đầu bằng việc phân phối ngẫu nhiên 20 viên bi vào các hố sao cho mỗi hố chứa ít nhất 2 viên và nhiều nhất 4 viên bi. Hai người chơi lần lượt chơi. Một người chơi chọn một hố có các viên bi và lấy tất cả bi ra khỏi hố và cầm trên tay. Khi có bi trên tay mình, người chơi xét các hố theo chiều kim đồng hồ, bắt đầu từ hố ngay sau hố trống và thực hiện công việc sau: • Có hơn một viên bi trên tay bạn: Nếu hố hiện tại đã chứa 5 viên bi thì hãy lấy 1 viên ra khỏi hố đó và đặt lên bờ của bạn, nếu không hãy đặt một viên bị trên tay bạn xuống hố đó. • Trên tay bạn chỉ có một viên bi: Nếu hố hiện tại chứa ít nhất 1 và nhiều nhất 4 viên bi thì hãy lấy tất cả các viên bi từ hố đó và 1 viên trên tay bạn rồi đặt lên bờ, nếu không (hố đó chứa 0 hoặc 5 viên bi) hãy đặt viên bi trên tay bạn vào bờ của người chơi thứ hai. Trò chơi kết thúc khi sau một lần đi tất cả các hố không còn chứa viên bi nào và người chiến thắng là người có nhiều viên bi hơn trên bờ của mình. Người chơi thứ nhất luôn phải tìm cách chiến thắng. Hãy viết chương trình chơi trò Ioiwari cho người thứ nhất chiến thắng. Cách chơi của người thứ hai luôn tối ưu nghĩa là chỉ cần có một cơ hội anh ta sẽ chiến thắng và chương tình của bạn thua. INPUT và OUTPUT Chương trình của bạn là người chơi thứ nhất và địch thủ là người chơi thứ hai. Khi chương trình của bạn bắt đầu, đầu tiên nó phải đọc một dòng với 7 số nguyên p1,..p7 : chỉ số bi ban đầu trong các hố từ 1 đến 7. Các hố được được gán số nguyên từ 1 đến 7 theo chiều kim đồng hồ. Sau đó trò chơi bắt đầu với bờ trống. Chương trình phải chơi như sau: • Nếu đến lúc chương trình của bạn chơi, thì chương trình hãy viết số thứ tự hố được chơi vào output • Nếu đến lúc đối thủ chơi, thì chương trình của bạn đọc số thứ tự hố được chơi từ input. Công cụ Cho trước một chương trình (ioiwari2 trên Linux, ioiwari2.exe trên Windows), với vai trò người chơi thứ hai. Đầu tiên, nó sẽ viết vào output dòng đầu tiên mà chương trình của bạn sẽ đọc mô tả số viên bi ban đầu trong các hố của trò chơi: 4 3 2 4 2 3 2 Sau đó, chương trình sẽ chơi trò chơi bằng cách đọc nước đi của người chơi thứ nhất từ input và viết nước đi của chính nó vào output. Page 1
  16. 4-2001 Score Bài toán Score là một trò chơi trên một bảng cho hai người di chuyển cùng một mã thông báo từ vị trí này sang vị trí khác trên bảng. Bảng có N vị trí được đánh số từ 1 đến N, và một số mũi tên. Mỗi mũi tên chỉ từ một điểm này đến một điểm khác. Mỗi vị trí đều thuộc về một trong hai người chơi (gọi là người sở hữu). Mỗi vị trí còn một giá trị dương. Tất cả các giá trị đều khác nhau. Vị trí 1 là vị trí bắt đầu. Ban đầu cả hai người chơi đều có số điểm là 0. Trò chơi được thực hiện như sau. Ta xác định vị trí hiện tại của mã thông báo trước khi thực hiện nước đi từ C. Bắt đầu trò chơi C ở vị trí 1. Một nước đi gồm các thao tác sau: 1. Nếu giá trị của C lớn hơn số điểm hiện tại của người sở hữu C, thì giá trị của C trở thành số điểm mới của người sử hữu C. Ngược lại, số điểm của người sở hữu C không đổi. Số điểm của người chơi còn lại không thay đổi trong trường hợp này. 2. Sau đó, người sở hữu C chọn một trong số các mũi tên ngoài vị trí của mã thông báo hiện tại và đích của mũi tên trở thành vị trí mới của mã thông báo hiện tại. Một người chơi có thể thực hiện nhiều nước đi liên tục. Trò chơi kết thúc khi mã thông báo trở về vị trí bắt đầu. Người chiến thắng là người chơi có số điểm cao hơn khi trò chơi kết thúc. Các mũi tên được sắp xếp sao cho các điều kiện sao luôn thỏa mãn: - Luôn có thể chọn được một mũi tên ngoài vị trí của mã thông báo hiện tại. - Mỗi vị trí P đều có thể đến được từ vị trí bắt đầu nghĩa là có một chuỗi các mũi tên từ điểm bắt đầu đến P. - Trò chơi chắc chắn kết thúc sau một số hữu hạn nước đi. Hãy viết chương trình chơi trò chơi và chiến thắng. Tất cả các trò chơi được dùng để đánh giá đều có thể thắng tuỳ vào việc bạn thực hiện nước đi trước hay sau. Đối thủ của bạn luôn chơi một cách tối ưu nghĩa là kho có cơ hội anh ta sẽ chiến thắng và chương trình của bạn thua. Input và Output Chương trình của bạn là ngời chơi thứ nhất và đối thủ là người chơi thứ hai. Khi chương trình của bạn bắt đầu chạy, nó sẽ đọc dữ liệu vào từ input gồm: dòng thứ nhất chứa 1 số nguyên chỉ số vị trí N, 1
  17. Median Strength Sau đó, trò chơi bắt đầu với vị trí mã thông báo hiện tại là 1. Chương trình chơi như sau và sẽ thoát ra khi mã thông báo trở lại ví trí 1: • Nếu đến lượt chương trình của bạn thực hiện nước đi, thì nó sẽ viết số vị trí tiếp theo P, 1
  18. Median Strength Nếu bạn lập trình bằng C hoặc C++ và dùng scanf và printf, hãy dùng lệnh sau để đọc input và viết vào output: scanf ("%d", &target); printf("%d\n",target); fflush (stdout); Nếu bạn lập trình bằng Pascal, hãy dùng lệnh sau để đọc input và viết vào output: Readln(target); Writeln(target); Công cụ Cho trước một chương trình (score2 trên Linux, score2.exe trên Windows). Chương trình đọc mô tả trò chơi từ tệp score.in theo định dạng như trang trên. Chương trình sẽ viết thông tin này vào output theo đúng định dạng đó. Output có thể được dùng làm input cho chương trình của bạn với mục đích thử nghiệm. Sau đó, chương trình chơi theo cách ngẫu nhiên đọc các nước đi từ input và viết nước đi của nó vào output. Page 3
  19. 3-2001 Twofive Bài toán Các thông tin giữa ông già Noel và người giúp việc của ông được mã hóa bằng ngôn ngữ 25. Bảng chữ cái 25 cũng giống bảng chữ cái Latin nhưng thiếu ký tự 'Z' nghĩa là bảng chữ cái 25 chứa 25 ký tự Latin từ 'A' đến 'Y' theo đúng tứh tự như trong bảng chữ cái Latin. Mỗi từ trong ngôn ngữ 25 chứa 25 ký tự khác nhau. Một từ có thể được viết trong một bảng kích thước 5x5 với các hàng được điền trước, ví dụ từ ADJPTBEKQUCGLRVFINSWHMOXY được viết như sau: Một từ theo đúng chuẩn ngôn ngữ 25 có các ký tự nằm trên các hàng và các cột theo thứ tự tăng dần. Do đó từ ADJPTBEKQUCGLRVFINSWHMOXY là một từ chuẩn, trong khi đó từ ADJPTBEGQUCKLRVFINSWHMOXY lại không chuẩn vì thứ tự tăng dần ở cột thứ hai và cột thứ ba bị phá vỡ. Ông già tuyết có một cuốn từ điển. Cuốn từ điển của ông chứa danh sách các từ chuẩn theo ngôn ngữ 25 xếp theo thứ tự tăng dần với số tứh tự bắt đầu từ 1. Ví dụ, trong từ điển, từ ABCDEFGHIJKLMNOPQRSTUVWXY là từ số 1 và từ ABCDEFGHIJKLMNOPQRSUTVWXY là từ số 2. Từ số 2 được tạo thành do U và T thay đổi vị trí cho nhau trong từ số 1. Nhưng điều bất lợi là cuốn từ điển lại quá lớn. Hãy viết chương trình xác định số thứ tự của một từ tuỳ ý và tìm từ tương ứng với số thứ tự cho trước. Cuốn từ điển chứa tối đa không quá 231 từ. Input Input là một tệp có tên twofive.in và gồm hai dòng. Dòng đầu tiên chứa một chuỗi chỉ gồm một ký tự 'W' hoặc 'N'. Nếu dòng đầu tiên chứa ký tự 'W' thì dòng thứ hai sẽ chứa một từ chuẩn theo ngôn ngữ 25 là một chuỗi gồm 25 ký tự. Nếu dòng thứ nhất chứa ký tự 'N' thì dòng thứ hai sẽ chứa một số thứ tự của một từ chuẩn theo ngôn ngữ 25. Output Output là một tệp có tên twofive.out và chỉ chứa một dòng. Nếu dòng thứ hai của input chứa một từ chuẩn theo ngôn ngữ 25 thì dòng này sẽ chứa số thứ tự của từ đó. Nếu dòng thứ hai của input chứa số thứ tự của một từ chuẩn theo ngôn ngữ 25 thì dòng này sẽ chứa từ tương ứng với số thứ tự đó. Ví dụ Input và Output Page 1
  20. Twofive Page 2
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2