Sau đó sẽ chọn ra 2 thí sinh bất kì đang đứng cạnh nhau trong vòng tròn để thi đấu, thí sinh nào thua sẽ bị loại và buộc phải đi ra vòng tròn, trở về hàng ghế khán giả.. Cuộc đấu cứ tiếp[r]
(1)SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH QUẢNG NGÃI KỲ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT NĂM HỌC 2011- 2012 Môn thi: Tin học Thời gian: 150 phút (không kể thời gian giao đề) Ngày thi: 11-11-2011 Câu (7 điểm) - Điền khuyết xâu kí tự Cho trước xâu ký tự a, b (chiều dài xâu không quá 100) Yêu cầu: Viết chương trình bổ sung số ký tự vào a và số ký tự vào b để hai xâu a và b trở nên giống (phân biệt chữ hoa, thường) Tổng số kí tự bổ sung vào là ít Input: File văn fs.inp cấu trúc sau: - Bao gồm số dòng (là số chẵn, có thể lên đến 10.000 dòng) - Mỗi dòng là xâu kí tự (không quá 100 kí tự) Output: File văn fs.out cấu trúc sau: - Gồm số dòng (là số dòng file input chia 2) - Dòng thứ i chứa xâu kí tự là kết việc bổ sung xâu dòng thứ i*2-1 và i*2 trên file input Ví dụ: Fs.inp Abcde Abcdef Abdf Câu 2: LSFIGHT (10đ)Trong kỳ thi năm các thí sinh phải tham gia môn thi đấu đối kháng người Sau vòng loại, ban tổ chức chọn N thí sinh có số điểm cao và đánh số từ đến N Các thí sinh này phải xếp theo thứ tự thành vòng tròn (người thứ N đứng cạnh người thứ 1) Sau đó chọn thí sinh bất kì đứng cạnh vòng tròn để thi đấu, thí sinh nào thua bị loại và buộc phải vòng tròn, trở hàng ghế khán giả Cuộc đấu tiếp tục đến còn người lại và chính là người thắng Yêu cầu: Ban tổ chức muốn biết trước xem có bao nhiêu người có khả thắng và đó là người nào Biết trước thắng trận đấu, bạn hãy giúp ban tổ chức Dữ liệu vào: LSFIGHT.INP - Dòng đầu là số nguyên dương N (3<=N<=500) - N dòng sau là ma trận A[i, j], A[i, j] = thí sinh i thua thí sinh j và A[i, j] = ngược lại Biết luôn đảm bảo A[i, i]=1 với i và A[i, j] + A[j, i] = với i <> j Các số viết cách ít dấu cách Kết quả: LSFIGHT.OUT - Dòng đầu là số nguyên dương M - số lượng thí sinh có khả thắng - M dòng sau dòng ghi số là số thí sinh có khả thắng theo thứ tự tăng dần số Time: 1s Ví dụ: LSFIGHT.INP 1111101 0101100 0111111 0001101 0000101 1101111 0100001 LSFIGHT.OUT 3 Câu 3: COMBINE (10đ) Có n đoạn dây xích (N≤20000), đoạn dây xích là chuỗi các mắt xích nối với Các đoạn dây xích này tách rời Mỗi đoạn xích có không quá 20000 mắt xích Bằng cách cắt mắt xích, sau đó hàn lại, ta có thể nối hai dây xích thành đoạn Thời gian để cắt và hàn mắt xích là đơn vị thời gian và xem với mắt xích Yêu cầu: Hãy tính thời gian ngắn để nối N đoạn dây xích thành đoạn Dữ liệu vào: COMBINE.INP Dòng đầu ghi số N Dòng thứ ghi N số nguyên dương, số là độ dài đoạn xích Kết quả: COMBINE.OUT Một số là thời gian ngắn tìm Time: 1s Ví dụ: COMBINE.INP COMBINE.OUT 5789 (2) (3)