P146PROC spoj PTIT – ROUND 6C – Bút màu

Nguồn đề bài: http://www.spoj.com/PTIT/problems/P146PROC/

1. Đề bài P146PROC spoj

Tí nhờ mẹ đi mua bút màu để chuẩn bị cho giờ vẽ tranh trên lớp. Tí dặn mẹ mua 4 bút màu khác nhau, nhưng mẹ Tí lại quên mất, chỉ nhớ là mua 4 cái bút màu cho Tí.

Về đến nhà, Tí bắt đền mẹ vì đã không mua đủ 4 màu cho Tí. Tí đòi mẹ ra hiệu sách mua thêm, để có đủ 4 màu vẽ cho ngày mai.

Các bạn hãy tính xem mẹ Tí cần mua thêm ít nhất bao nhiêu chiếc bút màu?

Input

Một dòng duy nhất gồm 4 số nguyên s1, s2, s3, s4 (1<= s1, s2, s3, s4 <= 10^9) thể hiện màu của 4 chiếc bút mà mẹ vừa mới mua cho Tí.

Output

In ra số lượng bút màu ít nhất cần mua thêm cho Tí.

Example

Test 1:

Input:

1 7 3 3

Output:

1

 

Test 2:

Input:

7 7 7 7

Output:

3

2. Code tham khảo P146PROC spoj PTIT

var
        a:array[1..5] of longint;
        i,j:longint;
        dem:longint=0;

procedure sort(l,r: longint);
      var
         i,j,x,y: longint;
      begin
         i:=l;
         j:=r;
         x:=a[(l+r) div 2];
         repeat
           while a[i]<x do
            inc(i);
           while x<a[j] do
            dec(j);
           if not(i>j) then
             begin
                y:=a[i];
                a[i]:=a[j];
                a[j]:=y;
                inc(i);
                j:=j-1;
             end;
         until i>j;
         if l<j then
           sort(l,j);
         if i<r then
           sort(i,r);
      end;

begin
        for i:=1 to 4 do
                read(a[i]);
        a[5]:=0;
        sort(1,4);
        for i:=1 to 4 do
                begin
                        j:=i;
                        while a[j]=a[j+1] do
                                begin
                                        inc(j);
                                        inc(dem);
                                end;
                        if j=4 then break;

                end;

        writeln(dem);
end.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *