Səhm brokerləri şayiələrə qarşı həssaslıq göstərən insanlar kimi tanınır. Sizdən xahiş edilib ki, vacib xəbərlərin və ya məlumatların brokerlər qrupu arasında mümkün olan ən sürətli şəkildə yayılması üsulunu hazırlayasınız.
Təəssüf ki, brokerlər yalnız xəbərləri "etibarlı mənbələrindən" qəbul edirlər. Bu isə o deməkdir ki, siz xəbəri yayarkən onların əlaqə quruluşunu nəzərə almalısınız. Konkret bir brokerin xəbəri öz həmkarlarından hər birinə çatdırması üçün müəyyən qədər vaxt tələb olunur. Sizin vəzifəniz proqram yazmaqdır ki, hansı adamı başlanğıc nöqtəsi kimi seçəcəyinizi və xəbərin hamıya ən qısa müddətdə çatması üçün nə qədər vaxt lazım olduğunu müəyyən etsin. Müddət sonuncu adamın xəbəri aldığı an kimi ölçülür.
Proqramınız müxtəlif broker dəstləri üçün məlumatları qəbul edəcək. Hər dəst brokerlərin sayını verən bir sətr ilə başlayır. Bunun ardınca hər broker üçün bir sətr gəlir, burada həmin brokerin neçə nəfərlə əlaqəsi olduğu, onların kimlikləri və hər birinə xəbəri çatdırmaq üçün tələb olunan vaxt göstərilir. Hər broker üçün sətrin formatı belədir: sətrin əvvəlində əlaqələrin sayı () yazılır, onu ədəd tam ədəddən ibarət cütlər izləyir. Hər cütdə birinci rəqəm əlaqədə olan şəxsin nömrəsini (məsələn, "1" bu dəstdəki birinci şəxsi bildirir), ikinci rəqəm isə ona xəbərin neçə dəqiqəyə çatdırıldığını göstərir. Xüsusi durğu işarələri və ya boşluq qaydaları yoxdur.
Hər dəst üçün proqramınız tək bir sətr çıxış verməlidir; həmin sətrdə xəbəri ən sürətli ötürən adamın nömrəsi və bu adamdan xəbəri verdikdən sonra istənilən xəbərin sonuncu adama çatması üçün lazım olan (dəqiqələrlə, tam ədəd kimi) vaxt olmalıdır.
Hər bir şəxs 1-dən brokerlərin sayına qədər nömrələnir. Xəbərin ötürülməsinə sərf olunan vaxt 1 ilə 10 dəqiqə (daxil olmaqla) arasında olacaq və əlaqə sayı 0-dan brokerlərin sayından bir vahid az olana qədər dəyişəcək. Brokerlərin sayı isə 1-dən 100-ə qədər ola bilər. Giriş faylı broker sayı 0 (sıfır) olan bir dəst ilə başa çatır.
Proqramınız əlaqəsi olmayan şəxslər olan bir əlaqə şəbəkəsi (şəbəkə) ilə rastlaşa bilər, yəni bəzi şəxslər əlçatmaza ola bilər. Əgər proqramınız belə qırıq şəbəkəni aşkar edərsə, sadəcə "disjoint" mesajını çıxışa verin. Qeyd edin ki, şəxsdən şəxsə xəbərin çatdırılması üçün tələb olunan vaxt -dən -ya çatdırılma vaxtı ilə eyni olmaya bilər — hətta belə ötürmə mümkün olduğu halda belə.
Nümunə 1