10.05.2017

Tấm khiên

Tin học trẻ Quảng Ninh 2012 - Bài 1
Hiệp sỹ Petrein đến làm khách ở Chúa tể Bóng đêm đã được vài tuần, được nghe về các kỳ tích hiển hách của vị Chúa tể trong những năm gần đây và hiểu rằng đã lâu lắm mình chưa lập một kỳ tích nào cả. Cùng nhau cân nhắc kỹ lưỡng bên chén trà, hai người thống nhất là Petrein phải đi giết con Rồng lửa đang tác oai tác quái phía tây của vương quốc.
Nhưng có hiệp sỹ nào lên đường mà không có giáp phục, giáo và khiên! Petrein hiện đang có 2 cái khiên hình tam giác, nhưng anh ta cho rằng như thế là chưa đủ. Khiên phải càng to càng tốt và anh ta quyết định giao cho thợ rèn làm khiên mới từ 2 khiên hiện có. Người thợ rèn của hoàng cung đề nghị hàn mép của hai khiên nối chúng thành một khiên duy nhất. Petrein nhận thấy dù có hàn cách nào diện tích khiên mới cũng không đổi. Vì vậy anh ta đề nghị hàn sao cho chu vi của khiên mới là nhỏ nhất để không phải tốn nhiều vàng làm đường viền cho khung. Cái khiên phải mang biểu tượng của gia tộc!
Cho 6 số nguyên dương a1, b1, c1 và a2, b2, c2 tương ứng là độ dài các cạnh của 2 khiên. Các độ dài có giá trị không vượt quá 105. Hãy xác định chu vi nhỏ nhất có thể nhận được.
Dữ liệu: Vào từ bàn phím 6 số nguyên a1, b1, c1, a2, b2 và c2.
Kết quả: Đưa ra màn hình một số nguyên là chu vi nhỏ nhất có thể nhận được.
Ví dụ:
         Dữ liệu vào từ bàn phím                   Kết quả trên màn hình
    a1, b1, c1, a2, b2, c2 = 3 4 5 6 7 8                      23

                                                           Giải
 
uses crt;
var
   a1,b1,c1,a2,b2,c2,d,e,f,s:integer;
begin
     clrscr;
     write('Nhap lan luot cac so a1, b1, c1, a2, b2, c2: ');readln(a1,b1,c1,a2,b2,c2);
     if (a1>b1) and (a1>c1) then d:=a1;
     if (b1>a1) and (b1>c1) then d:=b1;
     if (c1>a1) and (c1>b1) then d:=c1;
     if (a2>b2) and (a2>c2) then e:=a2;
     if (b2>a2) and (b2>c2) then e:=b2;
     if (c2>a2) and (c2>b2) then e:=c2;
     if d>= e then f:=e
     else f:=d;
     s:= a1+b1+c1+a2+b2+c2 - 2*f;
     writeln('Chu vi nho nhat la: ',s);
     readln;
end.

1 comment:

  1. tại sao lại có đoạn -2*f nhỉ ???

    ReplyDelete

Cảm ơn bạn đã nhận xét