Giải pháp 2: Tập hợp, lựa chọn, phân loại và giải bài tập theo các mức độ kiến thức phù hợp với từng dạng bài tập đã sắp xếp Giải pháp này nhằm mục đích củng cố, rèn luyện kỹ năng giải c
Tên sáng kiến
Các dạng bài tập luyện tập phân theo mức độ trong bồi dưỡng học sinh giỏi tỉnh môn Tin học
Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử
Mô tả các giải pháp cũ thường làm
Công tác bồi dưỡng học sinh giỏi cấp tỉnh là công việc đòi hỏi các thầy cô phụ trách đội tuyển không ngừng đổi mới, tìm tòi các giải pháp tốt để học sinh học giỏi, nắm vững kiến thức và thi đạt kết quả cao
Các chuyên đề bồi dưỡng HSG môn Tin học không độc lập với nhau mà có quan hệ mật thiết với nhau Có nhiều nội dung kiến thức của chuyên đề này chỉ có thể hiểu được khi đã được thấu hiểu các nội dung của các chuyên đề khác Trong thực tế, một số giáo viên Tin học thường dạy cho học sinh chuyên đề mà thầy cô đó yêu thích, thấy hay, có đầy đủ bài tập luyện tập mà không quan tâm đến mức độ khó của chuyên đề Để học giỏi và thi tốt bài thi lập trình của môn Tin học thì song song với việc trang bị kiến thức, phương pháp giải các bài toán trên máy tính thì giáo viên cần có chiến lược rèn kĩ năng làm bài, rèn kĩ năng tìm lỗi và sửa lỗi của các chương trình
Thời gian để học sinh nắm vững nội dung giải toán trên máy tính điện tử (MTĐT) có hạn, nên khi thi thực tế trên máy tính, các em thường mắc nhiều sai sót đáng tiếc về kỹ năng làm bài, dẫn đến kết quả không như mong đợi.
Số lượng bài tập tin học trên các nền tảng trực tuyến và sách vở rất phong phú, tuy nhiên, phần lớn các bài tập này lại thiếu đi sự phân tích thuật toán kỹ lưỡng và bộ đề kiểm tra chấm điểm đi kèm.
Vì thế giáo viên và học sinh rất khó có thể kiểm tra được tính đúng đắn của chương trình giải bài toán
Các bài tập lập trình nếu giáo viên cho học sinh làm ở những thời điểm chưa thích hợp, khi các em chưa đủ kĩ năng để hiểu và giải quyết chúng cũng sẽ khiến chất lượng bồi dưỡng bị ảnh hưởng
Mức độ của đề thi chọn HSG văn hóa cấp tỉnh môn tin học khác rất nhiều với đề thi chọn HSG văn hóa cấp quốc gia Tuy nhiên, hệ thống các trang mạng cung cấp hệ thống bài tập cho học sinh tự luyện chủ yếu hướng tới kì thi chọn HSG QG, các bài tập không sắp xếp theo mức độ mong muốn của học sinh ôn thi HSG tỉnh.
Sự cần thiết phải áp dụng giải pháp sáng kiến
Để công tác bồi dưỡng HSG môn tin học cấp tỉnh đạt hiệu quả cao thì nhất thiết phải có hệ thống nhiều bài tập phù hợp với từng mảng kiến thức giảng dạy cho đội tuyển
Với từng mảng kiến thức khi giáo viên trang bị cho học sinh thì cần thiết có các bài tập phù hợp để học sinh luyện tập, thực hành trên máy tính Việc học đi đôi với hành sẽ giúp học sinh ghi nhớ kiến thức và rèn kĩ năng làm bài trên máy tính, sửa lỗi mắc phải với các dạng bài tập này
Qua nhiều năm bồi dưỡng học sinh giỏi tin học cấp trung học phổ thông và một số cuộc thi Duyên Hải, Hùng Vương, tôi tìm hiểu nhiều tài liệu, tìm các dạng bài tập để hướng dẫn cho học sinh Đặc biệt trong công tác bồi dưỡng HSG tin học cấp tỉnh, tôi luôn dành nhiều thời gian để lựa chọn kĩ lưỡng các bài tập luyện tập theo mức độ phù hợp để các em lĩnh hội kiến thức và kĩ năng được tốt nhất
Bằng kinh nghiệm giảng dạy, bồi dưỡng HSG tin học cấp tỉnh nhiều năm, tôi quyết tâm tìm kiếm, sưu tầm nhiều bài toán tin học khác nhau Các bài toán sưu tầm được, tôi phân tích và giải nó bằng nhiều phương pháp khác nhau Với mỗi bài toán đã hiểu cặn kẽ từng cách tổ chức dữ liệu, thuật toán tốt nhất để giải, tôi diễn đạt vào tình huống thực tế, thêm điều kiện ràng buộc để có một bài toán mới Từng ngày, từng tuần trôi qua tôi đã xây dựng được hệ thống các bài tập Trong mỗi dạng bài tập, tôi sắp xếp chúng theo các mức độ kiến thức khác nhau để lựa chọn cho từng giai đoạn bồi dưỡng cụ thể Bằng cách cho học sinh luyện tập các bài tập đa dạng theo các mức độ củng cố kiến thức hợp lí mà các em có thể chinh phục các bài toán với điểm tuyệt đối trong nhiều kỳ thi Để đạt được điểm cao, học sinh không những phải giải hết các bài toán mà với mỗi bài toán học sinh còn cần lựa chọn được thuật toán sao cho đáp ứng hết các bộ test trong bài Học sinh cần được luyện tập các bài tập ở mức độ phù hợp với bản thân trong từng giai đoạn bồi dưỡng để tạo sự tự tin, niềm hứng khởi, đam mê và khắc sâu kiến thức đã được trang bị.
Mục đích của giải pháp sáng kiến
Các giải pháp của sáng kiến là tài liệu tham khảo hữu ích cho giáo viên trong quá trình ôn luyện giúp học sinh đạt thành tích cao Đồng thời, đây cũng là tài liệu cần thiết cho các em học sinh bồi dưỡng kiến thức và rèn luyện bản thân, giúp nâng cao khả năng học tập và đạt kết quả tốt trong quá trình học tập.
Trong khuôn khổ sáng kiến này, chúng tôi đưa ra 4 giải pháp, bao gồm 2 giải pháp hoàn toàn mới (giải pháp 1 và giải pháp 2) và 2 giải pháp được cải tiến dựa trên những giải pháp hiệu quả của SKKN 2023.
Giải pháp 1: Sắp xếp thứ tự các dạng bài tập luyện tập
Giải pháp này nhằm mục đích giúp giáo viên có thể sưu tầm, biên soạn được các bài tập phù hợp với mức độ nhận thức của học sinh, phù hợp với mức độ yêu cầu của kì thi chọn HSG tin học cấp tỉnh Đặc biệt, giáo viên và học sinh biết trước các nội dung đã hoàn thành và những nội dung cần hoàn thành trong thời gian ôn luyện nhờ đó bản thân luôn chủ động về mặt thời gian
Giải pháp 2: Tập hợp, lựa chọn, phân loại và giải bài tập theo các mức độ kiến thức phù hợp với từng dạng bài tập đã sắp xếp
Giải pháp này nhằm mục đích củng cố, rèn luyện kỹ năng giải các bài toán bằng các phương pháp mà học sinh được lĩnh hội trong từng chuyên đề bồi dưỡng Giải pháp sẽ giúp các em học sinh nắm vững kiến thức đã học và vận dụng các kiến thức đó vào việc giải các bài toán tin học trên máy tính
Giải toán tin không chỉ dừng lại ở phương án trên giấy mà còn cần thực hiện trực tiếp trên máy tính, kiểm tra độ chính xác khi chạy trên hệ thống, thử nghiệm với nhiều dữ liệu đầu vào khác nhau, đánh giá độ phức tạp của thuật toán giải toán thông qua thực hành.
Giải pháp 3: Xây dựng bộ test theo mức độ yêu cầu đối với từng bài toán cụ thể Để đánh giá mức độ nắm bắt kiến thức, mức độ vận dụng kiến thức trong thực hành của học sinh, trong mỗi bộ test của từng bài, giáo viên chia tỉ lệ phần trăm theo độ phức tạp tính toán
Giải pháp 4: Thực nghiệm và đánh giá hiệu quả của sáng kiến khi áp dụng với một số trường THPT Đánh giá tính khả thi của giải pháp với điều kiện trường THPT Chuyên Bắc Giang, trường THPT Ngô Sĩ Liên, THPT DTNT Tỉnh và THPT Thái Thuận Đánh giá hiệu quả của giải pháp đối với học sinh trong việc củng cố, rèn kỹ năng giải toán bằng phương pháp sắp xếp các bài tập theo mức độ của từng chuyên đề bồi dưỡng nhằm giúp học sinh yêu thích môn học, chọn được cách tối ưu khi giải các bài toán tin học, phát triển tư duy, phẩm chất và năng lực của học sinh
Kết hợp 4 giải pháp trên, sáng kiến kinh nghiệm góp phần giúp học sinh thành thục kỹ năng giải các bài toán bằng các phương pháp đã học ở từng chuyên đề bồi dưỡng Đặc biệt, sau khi tiến hành các giải pháp trên bản thân tôi được trải nghiệm, tổng kết kinh nghiệm của bản thân, chia sẻ, giúp đỡ đồng nghiệp trong việc tìm hiểu và thực hiện bồi dưỡng học sinh giỏi đạt hiệu quả cao nhất.
Nội dung
7.1 Thuyết minh giải pháp mới hoặc cải tiến
- Tên giải pháp: Sắp xếp thứ tự các dạng bài tập luyện tập
Nội dung 1: Nhận xét về giải pháp cũ
Giáo viên bồi dưỡng HSG cấp tỉnh sưu tầm rất nhiều các bài tập từ nhiều nguồn khác nhau (trên mạng, từ đồng nghiệp, ) nhưng không đánh giá mức độ dễ hay khó theo cơ sở thuật toán tối ưu sử dụng trong lời giải để phân loại Hầu hết các giáo viên phân loại các bài tập theo cảm nhận về câu từ, ví dụ mô tả trong đề bài
Hạn chế nằm ở việc học sinh chưa đủ khả năng tìm thuật toán tối ưu cho bài toán trong thời gian hạn chế Ngoài ra, do thiếu bài tập bổ trợ kiến thức, nhiều bài tập trở nên khó khăn, khiến học sinh không thể giải.
+ Giáo viên không đánh giá bài toán tin học theo độ phức tạp thuật toán thì lời giải bài toán của học sinh chưa tối ưu nhưng có thể vẫn được điểm tối đa
+ Học sinh bắt trước lời giải bài toán trên mạng nhưng không thực sự hiểu kiến thức liên quan dẫn đến không tự giải được các bài toán tương tự
Hiệu quả: Học sinh và giáo viên mất nhiều thời gian làm bài tập nhưng kết quả đạt được thấp
Nội dung 2: Giải pháp mới là “Sắp xếp thứ tự các dạng bài tập luyện tập”
Giải pháp mới hoàn toàn được thể hiện bằng việc sắp xếp các dạng bài tập luyện tập theo thứ tự hợp lí trên cơ sở đánh giá các kiến thức, kĩ năng cần trang bị khi bắt đầu thực hành các dạng bài tập
Tham khảo tài liệu, nghiên cứu nội dung của từng chuyên đề bồi dưỡng HSG văn hóa cấp tỉnh môn Tin học
+ Cấu trúc đề thi chọn HSG văn hóa cấp tỉnh môn Tin học của tỉnh Bắc Giang
+ Nghiên cứu các nội dung trong từng chuyên đề để sắp xếp thứ tự các dạng bài tập luyện tập theo mức độ từ dễ đến khó
+ Đánh giá mức độ cần đạt của các dạng bài tập
- Các bước tiến hành thực hiện giải pháp:
Bước 1: Thu thập tài liệu từ nhiều nguồn khác nhau
Bước 2: Tìm hiểu nội dung của các chuyên đề bồi dưỡng HSG từ nhiều nguồn khác nhau như Sách giáo khoa, Sách chuyên, tài liệu trên mạng,
Bước 3: So sánh mức độ yêu cầu của các chuyên đề bồi dưỡng với nhau để sắp xếp thứ tự các dạng bài tập luyện tập theo thứ tự hợp lí
- Kết quả khi thực hiện giải pháp: Tác giả đã sắp xếp được thứ tự các dạng bài tập luyện tập theo trình tự hợp lí, dễ vận dụng (Chi tiết tại phụ lục số 1)
- Tên giải pháp: Tập hợp, lựa chọn, phân loại và giải bài tập theo các mức độ kiến thức phù hợp với từng dạng bài tập đã sắp xếp
Nội dung 1: Nhận xét về giải pháp cũ
Mặc dù giáo viên tin học dễ dàng tìm được nhiều bài tập tin học để luyện tập cho học sinh, nhưng do số lượng quá lớn nên không thể giao hết cho học sinh giải Vì vậy, giáo viên sẽ lựa chọn một số bài tập mới, lạ, đề bài hay và dễ hiểu để làm tài liệu cho học sinh luyện tập Tuy nhiên, hạn chế của phương pháp này là các bài toán được lựa chọn chưa được giải bằng thuật toán tối ưu, chưa được đánh giá mức độ dễ hay khó, và các bài kiểm tra được tạo ra bằng mã chưa tối ưu Điều này dẫn đến việc học sinh thực hiện bài tập và chấm điểm nhưng chưa thể đánh giá chính xác mức độ kiến thức đã đạt được.
Tồn tại: Học sinh ôn HSG môn Tin học của nhiều trường rơi vào tình trạng được giáo viên giao cho rất nhiều bài tập tin học nhưng không hề biết cách giải quyết Trong số đó có một số em đã bị sa đà vào các trang mạng xã hội vô bổ khi tìm kiếm lời giải trên mạng
Hiệu quả: Học sinh tốn nhiều thời gian và không được kiến thức, kĩ năng cần thiết
Nội dung 2: Giải pháp mới là “Tập hợp, lựa chọn, phân loại và giải bài tập theo các mức độ kiến thức phù hợp với từng dạng bài tập đã sắp xếp” Để hoàn thành giải pháp này, chúng tôi đã nghiên cứu rất nhiều tài liệu, đặc biệt là học tập, trau dồi các kiến thức về đánh giá độ phức tạp thuật toán Một thuật toán tối ưu được đánh giá ở nhiều khía cạnh quan trọng như: Thời gian thực hiện thuật toán; Tính đúng của thuật toán; Không gia bộ nhớ cần thiết để lưu trữ dữ liệu; Khả năng hoàn thành chương trình giải bài toán,
Trong hàng nghìn bài toán tin học đã được hoàn thành, được đánh giá độ phức tạp thuật toán, chúng tôi lựa chọn các bài tập phù hợp với từng mức độ bồi dưỡng để tập hợp lại phục vụ cho công tác bồi dưỡng HSG các năm tiếp theo
Mức độ 1: Bài tập về số học và các bài toán cơ bản
Mức độ 2: Bài tập về số học và hình học có vận dụng các cấu trúc dữ liệu cơ bản Mức độ 3: Bài tập về tìm kiếm và sắp xếp
Mức độ 4: Bài tập về phương pháp duyệt
Mức độ 5: Bài tập về phương pháp quy hoạch động
Mức độ 6: Bài tập có vận dụng cấu trúc dữ liệu nâng cao
- Các bước tiến hành thực hiện giải pháp:
Bước 1: Thu thập tài liệu từ nhiều nguồn khác nhau
Bước 2: Lựa chọn các bài tập phù hợp với mức độ cần đạt của học sinh giỏi cấp tỉnh Bước 3: Với mỗi bài tập đã lựa chọn, phát biểu bài toán cho phù hợp với học sinh THPT, tìm thuật toán, cài đặt chương trình và kiểm tra tính đúng đắn, chính xác của chương trình Đánh giá độ phức tạp của chương trình/ thuật toán
Bước 4: Sắp xếp các bài tập theo các mức độ phù hợp để củng cố kiến thức tương ứng với từng nội dung trong công tác bồi dưỡng HSG cấp tỉnh
Kết quả triển khai giải pháp: Hệ thống bài tập thực hành theo 6 cấp độ được xây dựng để củng cố kiến thức cho các em học sinh chuẩn bị tham gia kỳ thi chọn Học sinh giỏi cấp tỉnh cũng như phục vụ cho quá trình dạy lớp 10 chuyên Toán (Xem chi tiết tại Phụ lục số 2).
- Tên giải pháp: Xây dựng bộ test theo mức độ yêu cầu đối với từng bài toán cụ thể
- Nội dung: Sử dụng chương trình đã được đánh giá theo các mức độ ở giải pháp
2 để sinh dữ liệu vào/ ra tương ứng với từng bài toán
Giới hạn nội dung và kiến thức thi chọn HSG cấp tỉnh môn Tin học
Bài 1: (25% tổng số điểm – 5 điểm/20 điểm): Bài toán số học và hình học
(Mức độ thông hiểu và vận dụng thấp)
- Kiểm tra các kỹ năng cơ bản về lập trình, hiểu biết về ngôn ngữ lập trình để giải bài toán
- Sử dụng các thuật toán đã được học trong chương trình Tin học 10, 11
- Sử dụng các kiểu dữ liệu cơ bản trong ngôn ngữ lập trình
Bài 2: (35% tổng số điểm – 7 điểm/20 điểm): Bài toán số học và hình học (Mức độ vận dụng thấp, vận dụng cao 10% = 2 điểm )
- Kiểm tra các kỹ năng cơ bản, nâng cao về lập trình, hiểu biết về ngôn ngữ lập trình để giải bài toán
- Sử dụng một số thuật toán, kỹ thuật lập trình (duyệt, quy hoạch động cơ bản) để tối ưu bài toán
- Sử dụng các kiểu dữ liệu có cấu trúc cơ bản (mảng, xâu ký tự, bản ghi, vec tơ, stack, queue) trong ngôn ngữ lập trình
Bài 3: (25% tổng số điểm): Bài toán về cấu trúc dữ liệu lẫn cài đặt (Mức độ vận dụng cao)
- Sử dụng một số thuật toán, kỹ thuật lập trình (duyệt, quy hoạch động) kết hợp sắp xếp, tìm kiếm để giải bài toán trên máy tính
- Sử dụng cấu trúc dữ liệu hợp lý để đảm bảo yêu cầu và thời gian thực hiện của chương trình
Bài 4: (15% tổng số điểm): Bài toán về thuật toán và cấu trúc dữ liệu lẫn cài đặt
(Mức độ vận dụng cao)
- Sử dụng thuật toán, kỹ thuật lập trình nâng cao (duyệt, đệ quy, quy hoạch động)
- Sử dụng cấu trúc dữ liệu nâng cao (deque, map, hàng đợi ưu tiên, cây IT) để đảm bảo yêu cầu và thời gian thực hiện của chương trình
Bài thi được chấm dựa trên các kết quả chạy thử nghiệm, trong đó có sự so sánh thời gian chạy chương trình giữa các thí sinh để đánh giá Điểm số chỉ được chấm dựa trên văn bản chương trình trong những trường hợp đặc biệt.
- Các test của mỗi câu được chỉ rõ về số lượng, giới hạn dữ liệu, số điểm tương ứng đạt được,
- Cấu trúc dữ liệu của các bài toán phải nằm trong chương trình học
Nhận xét: Khi nghiên cứu cấu trúc đề thi chọn HSG cấp tỉnh môn Tin học, chúng tôi nhận thấy các yếu tố sau:
- Nội dung kiến thức rộng
Kỹ năng làm bài thi trên máy tính đòi hỏi kiến thức cơ bản và khả năng xử lý tình huống phức tạp Một số kiến thức dễ nắm vững, nhưng một số khác đòi hỏi kỹ năng làm bài chuyên sâu Nếu không có kinh nghiệm hoặc xử lý khéo léo, thí sinh dễ mắc sai lầm đáng tiếc trong quá trình thực hành làm bài.
- Nếu học hết các chuyên đề lý thuyết liên quan rồi chuyển sang luyện đề tổng hợp như rất nhiều thầy cô vẫn làm thì sẽ rất tốn thời gian và học sinh không nắm chắc từng phần kiến thức đã được học.
Lựa chọn và sắp xếp các bài tập bồi dưỡng HSG
Mức độ 1: Bài tập về số học và các bài toán cơ bản
Mức độ 2: Bài tập về số học và hình học có vận dụng các cấu trúc dữ liệu cơ bản Mức độ 3: Bài tập về tìm kiếm và sắp xếp
Mức độ 4: Bài tập về phương pháp duyệt
Mức độ 5: Bài tập về phương pháp quy hoạch động
Mức độ 6: Bài tập có vận dụng cấu trúc dữ liệu nâng cao
Một số nhận xét về các mức độ bài tập
Các bài toán cơ bản và bài tập về số học ở mức độ 1 yêu cầu học sinh thuộc ngôn ngữ lập trình, nắm chắc các kiến thức về toán học, tin học đã được học trong chương trình THPT ở lớp 10 và các lớp dưới Học sinh nhất định hoàn thành các bài tập ở mức độ
1 để củng cố kiến thức cơ bản về ngôn ngữ lập trình, cấu trúc của một chương trình giải bài toán tin học trên máy tính điện tử Bài tập ở mức độ 1 tuy dễ nhưng là hằng đẳng thức đáng nhớ cho các em đam mê lập trình có cơ sở để chinh phục các mức độ khó hơn Bài tập về số học và hình học có vận dụng các cấu trúc dữ liệu cơ bản đòi hỏi các em học sinh có sự khéo léo trong công việc tổ chức dữ liệu vao/ra, biết vận dụng linh hoạt các cấu trúc dữ liệu cơ bản trong các bài toán số học và hình học Sau khi hoàn thành các bài tập ở mức độ 2, hầu hết các học sinh có năng khiếu về tin học đã được bộc lộ khá rõ nét, những học sinh không thể tiến xa hơn trong lĩnh vực lập trình sẽ dừng lại ở mức độ 2 Ở mức độ 3, tìm kiếm và sắp xếp là một phương pháp hay để giải khá nhiều bài toán trên máy tính điện tử Các bài tập ở mức độ này đòi hỏi học sinh không những biết vận dụng các cấu trúc dữ liệu cơ bản mà còn có tư duy thuật toán tốt Hầu hết các học sinh hoàn thành xuất sắc các bài tập ở mức độ 3 là khả năng đạt giải trong kì thi chọn học sinh giỏi cấp tỉnh là khả quan nếu tiếp tục học và ôn luyện
Bài tập về phương pháp duyệt ở mức độ 4 được chia thành các mức độ nhỏ hơn, từ duyệt vét cạn đến duyệt nhánh cận và tiếp theo là duyệt phân tập Học sinh hoàn thành được bài tập ở mức độ này đòi hỏi sự thành thục cả về kĩ năng lập trình và tư duy thuật toán
Mức độ 5 và mức độ 6 là hai mức độ khó nhất đối với học sinh THPT cả không chuyên và chuyên Do đó, tùy thuộc vào quĩ thời gian của cả thầy cô giáo và học sinh mà chúng ta hoàn thành các bài tập ở dạng này từ cơ bản đến phức tạp Trong lập trình thi đấu, học sinh không cần thiết phải học hết tất cả các phương pháp, các chiến lược giải bài toán trên máy tính điện tử mà quan trọng hơn hết là nắm chắc từng phương pháp và biết vận dụng linh hoạt trong quá trình lập trình trên máy tính
PHỤ LỤC SỐ 2: CÁC DẠNG BÀI TẬP LUYỆN TẬP PHÂN THEO MỨC ĐỘ
MỨC ĐỘ 1: BÀI TẬP VỀ SỐ HỌC VÀ CÁC BÀI TOÁN CƠ BẢN
Ký hiệu * trong các file chương trình của các bài toán sẽ được thay thế bằng định dạng phù hợp với ngôn ngữ lập trình mà học sinh sử dụng Cụ thể, ký hiệu * sẽ được thay bằng PAS cho file chương trình Pascal, CPP cho file chương trình C++ và PY cho file chương trình Python.
Tên chương trình MAX3SO.*
Cho 3 số nguyên bất kì a, b, c Hãy tìm giá trị lớn nhất của 3 số a, b, c đó?
Input: Đọc từ file MAX3SO.INP chứa 3 số a, b, c
Output: Ghi ra file MAX3SO.OUT chứa kết quả tìm được
MAX3SO.INP MAX3SO.OUT
Tên chương trình MIN3SO.*
Cho 3 số nguyên bất kì a, b, c Hãy tìm giá trị nhỏ nhất của 3 số a, b, c đó?
Input: Đọc từ file MIN3SO.INP chứa 3 số a, b, c
Output: Ghi ra file MIN3SO.OUT chứa kết quả tìm được
MIN3SO.INP MIN3SO.OUT
Tên chương trình là ABC.*
Cho 3 điểm bất kì A, B, C Mỗi điểm được xác định bởi một cặp số nguyên (xi, yi) là toạ độ của nó trong hệ toạ độ Đề các Oxy Giới hạn |xi| < 30000, |yi|< 30000 Ba điểm
A, B, C là ba đỉnh của một tam giác khi và chỉ khi chúng phân biệt và không cùng nằm trên một đường thẳng
Yêu cầu: Hãy kiểm tra xem 3 điểm A, B, C có là 3 đỉnh của một tam giác hay không?
Dữ liệu được đọc vào từ file ABC.INP chứa 6 số nguyên tương ứng là tọa độ của 3 điểm A, B, C
Kết quả: Ghi ra file ABC.OUT là chữ “YES” hoặc “NO” tương ứng với 3 điểm A,
B, C trong bộ dữ liệu vào là 3 đỉnh của một tam giác hay không là 3 đỉnh của một tam giác
ABC.INP ABC.OUT ABC.INP ABC.OUT
Bội chung nhỏ nhất File chương trình nộp BCNN.*
Tìm bội số chung nhỏ nhất của 2 số nguyên dương m, n (m, n < 10 9 )
+ Input: đọc từ file BCNN.INP chứa 2 số m, n (m, n b3; thưởng 3 điểm, a3>b1;a3>b2;a3>b3 thưởng 3 điểm)
Yêu cầu : Hãy xác định xem nếu xét tất cả các phần tử của dãy A với mọi phần tử của dãy B thì A thu được tối đa bao nhiêu điểm?
Dữ liệu vào : Đọc từ tệp văn bản BONUS3.INP có cấu trúc:
N dòng tiếp theo, dòng thứ i chứa 2 số nguyên ai và bi (i=1 N)
Kết quả : Ghi ra tệp văn bản BONUS3.OUT một số không âm là kết quả cần tìm Chú ý:
- Có 50% số test ứng với 40% số điểm của bài có N ≤ 10 3 ;
- Có 35% số test khác ứng với 35% số điểm của bài có N ≤ 10 5 ;
- Có 15% số test khác ứng với 15% số điểm của bài có N ≤ 3x10 6
Phần thưởng Đặt tên tệp chương trình là BONUS4.*
Cho dãy A gồm M số nguyên a1, a2, …, aM và dãy B gồm N số nguyên b1, b2, …, bN là 2 dãy không giảm Với mỗi cặp (i,j) với i=1 N và j=1 M, nếu bi > aj thì B được thưởng
1 điểm (|aj|,|bi| ≤ 10 9 ) Trong ví dụ cho dưới đây có a=(3, 5, 8) và b=(5, 9) thì dãy B được thưởng tối đa số điểm=2+3=5 (Vì b1>a1; b1>a2 thưởng 2 điểm, b2>a1;b2>a2;b2>a3 thưởng 3 điểm)
Yêu cầu : Hãy xác định xem nếu xét tất cả các phần tử của dãy B với mọi phần tử của dãy A thì B thu được tối đa bao nhiêu điểm?
Dữ liệu vào : Đọc từ tệp văn bản BONUS4.INP có cấu trúc:
Dòng 1 chứa số nguyên M và N;
Dòng 2 chứa M số của dãy A;
Dòng 3 chứa N số của dãy B
Kết quả : Ghi ra tệp văn bản BONUS4.OUT một số duy nhất theo yêu cầu của bài toán
Có 50% số test ứng với 40% số điểm của bài có M,N ≤ 10 3 ;
Có 35% số test khác ứng với 35% số điểm của bài có M,N ≤ 10 5 ;
Có 15% số test khác ứng với 15% số điểm của bài có M,N ≤ 3x10 6
Dãy con liên tiếp gồm toàn số dương dài nhất File nộp tên là MAXDD.*
Cho dãy số nguyên a có N phần tử a1, a2, , aN, (1