Qara geyimli insanlar#4953

Qara geyimli insanlar

3 saniyə
64 meqabayt
Çox çətin

Məlum olduğu kimi, "Qara geyimli adamlar" planetimizi yadplanetli tarakanların və digər zərərvericilərin hücumundan qoruyurlar. Onlar yadplanetli düşmənlərin və dostların bütün hərəkətlərini izləyir və onların fəaliyyətlərini nəzarətdə saxlayırlar. Lakin son zamanlarda "Qara geyimli adamlar"ın fəaliyyəti haqqında hökumət məlumat əldə etdi və onları izləməyə qərar verdi.

"Qara geyimli adamlar" təşkilatında bir neçə agent çalışır. Hər bir agentin bir neçə xüsusiyyəti var: dəqiqlik, zəkilik, piyada sürəti, təcrübə və avtomobil idarəetmə bacarığı. Bütün xüsusiyyətlər sıfırdan birə qədərdir. Bundan əlavə, hər bir agentə -dan -yə qədər müəyyən bir hərf təyin edilir və onun adı gizli məlumatdır. Təşkilata yeni agent gəldikdə, ona agentin adının ilk hərfinə ən yaxın olan boş hərf seçilir (heç bir agentə təyin edilməmiş hərf). Əgər belə bir neçə varsa, leksikoqrafik sırada birinci olan hərf seçilir. Məsələn, əgər təşkilatda artıq və agentləri varsa və Killer adlı agent gəlibsə, o, hərfini alacaq.

"Qara geyimli adamlar" müxtəlif siniflərdən olan bir neçə avtomobilə sahibdirlər və agentlər bu avtomobillərdən istifadə edirlər. Bu zaman agentin istənilən avtomobildə hərəkət sürəti onun avtomobil idarəetmə bacarığına bərabərdir. Lakin bəzi avtomobillərdən istifadə etmək üçün müəyyən bir bacarıq səviyyəsinə malik olmaq lazımdır. Hər bir avtomobil sinfi üçün avtomobilin istifadəyə yararsız hala gəlməsindən əvvəlki maksimum məsafə məlumdur.

Kainatda "Qara geyimli adamlar"ın mübarizə apardığı bir neçə fərqli növ yadplanetli canavarlar mövcuddur. Agentin canavarı öldürməsi üçün onun təcrübəsi və zəkiliyi həmin canavar növü üçün minimum səviyyədən aşağı olmamalıdır. Hər bir canavarın qaçınma qabiliyyəti var və aşağı dəqiqliyə malik agentlər qaçınan canavara vurmaq üçün çox vaxt sərf edə bilərlər. Müəyyən bir növ canavar agentə onu öldürdüyü üçün müəyyən miqdarda təcrübə verir.

"Qara geyimli adamlar"ın agentləri iş prosesində müxtəlif tapşırıqlar alırlar və bu tapşırıqlar dörd növdə olur.

1. **Çatdırılma tapşırığı** — təyinat nöqtəsinə gedib geri qayıtmaq. Belə tapşırıqlar üçün "Qara geyimli adamlar"ın ofisindən olan məsafə məlumdur. 2. **Canavarın məhv edilməsi tapşırığı** — canavara çatmaq, onu öldürmək və geri qayıtmaq lazımdır. Canavara olan məsafə və onun sinfi məlumdur. Dəqiqliyi olan agentin qaçınma qabiliyyəti olan canavarı öldürmək üçün sərf edəcəyi vaxt -ya bərabərdir. Bu zaman agent (1-x) \cdot m / \max x təcrübə qazanır, burada agentin təcrübəsidir, bu növ canavarların öldürülməsi üçün verilən təcrübədir, canavarların öldürülməsi üçün verilən maksimum təcrübədir və onun dəqiqliyi (1-a) \cdot e / \max e qədər artır, burada agentin canavarı öldürməzdən əvvəlki dəqiqliyidir. Agentin canavarı öldürməsi üçün onun zəkiliyi və təcrübəsi həmin canavar növü üçün minimum səviyyədən aşağı olmamalıdır. 3. **Hadisənin araşdırılması tapşırığı** — ofisdən məsafə, araşdırma apara biləcək agentin minimum zəkiliyi məlumdur. Zəkiliyi olan agent araşdırmanı vaxta yerinə yetirir, burada minimum vaxtdır. Bu zaman agent (1-x) \cdot i / \min t təcrübə qazanır, burada onun araşdırmadan əvvəlki təcrübəsidir və (1-i) \cdot i / \min t qədər zəkiliyini artırır. 4. **Danışıqlar tapşırığı** — digər planetlərin nümayəndələri ilə danışıqlardır. Burada, agent nə qədər təcrübəli olsa, bir o qədər yaxşıdır. Belə tapşırıqlar üçün ofisdən olan məsafə və danışıqlar apara biləcək agentin minimum təcrübəsi məlumdur. Agentin danışıqlara sərf edəcəyi vaxt -ə bərabərdir, burada agentin təcrübəsidir, bu danışıqlar üçün minimum vaxtdır. Agent (1-x) \cdot x / \min t təcrübə qazanır.

Hər bir tapşırıq üçün "Qara geyimli adamlar" bir və ya iki agent göndərirlər. Əgər agentlər ikidirsə, onların xüsusiyyətləri elə dəyişir ki, sanki tapşırığı təkbaşına yerinə yetiriblər. Agent tapşırığa avtomobillə gedə bilər və ya piyada gedə bilər. Əgər yolda avtomobil xarab olarsa, agent qalan tapşırığı piyada yerinə yetirməyə məcbur olur. Tapşırığa ən sürətli yerinə yetirəcək agent (və ya agentlər cütlüyü) göndərilir. Əgər belə bir neçə varsa, bir neçə qayda tətbiq olunur. Birincisi, bir agent iki agentdən daha yaxşıdır. İkincisi, iki agentdən biri göndərilir, hansı ki, hərfi əlifbada daha əvvəl gəlir (əgər agentlər ikidirsə, hərflərin cütləri müqayisə olunur). Üçüncüsü, əgər piyada tapşırıq daha yavaş yerinə yetirilməyəcəksə, agent avtomobil götürmür. Dördüncüsü, bir neçə avtomobildən minimal nömrəli avtomobil seçilir.

Bütün tapşırıqlar mümkün olan ən qısa müddətdə yerinə yetirilir. Əgər bir neçə tapşırıq eyni anda yerinə yetirilə bilərsə, üstünlük daha əvvəl daxil olan tapşırığa verilir.

Agent piyada hərəkət edərkən, onun sürəti (1-s) \cdot d / \max d qədər artır, burada onun hərəkətin əvvəlindəki sürətidir, keçdiyi məsafədir və agentin keçə biləcəyi maksimum məsafədir. Eyni şəkildə, avtomobil idarəetmə bacarığı (1-z) \cdot d / \max d qədər artır. Hesablamalarda agentin cari tapşırığın başlanğıcındakı xüsusiyyətləri istifadə olunur.

Agentlər cütlükdə işlədikdə, onların ümumi xüsusiyyətləri hesablanır. Bu zaman piyada sürəti iki sürətdən minimuma bərabərdir, avtomobil idarəetmə bacarığı isə iki bacarıqdan maksimuma bərabərdir, cütlüyün dəqiqliyi agentlərin dəqiqliyinin yarısına bərabərdir. Ümumi təcrübə 1-(1-e_1)\cdot(1-e_2)-yə bərabərdir, burada e_1 və e_2 birinci və ikinci agentin təcrübəsidir. Eyni şəkildə, ümumi zəkilik 1-(1-i_1)\cdot(1-i_2)-yə bərabərdir.

Tapşırıqlardan başqa, təşkilata yeni agent gələ bilər və ya "Qara geyimli adamlar" yeni avtomobil ala bilərlər.

Agentin təcrübəsi müəyyən həddi keçdikdə, agent "Qara geyimli adamlar" təşkilatında işləməkdən yorulur və təqaüddə çıxır. Lakin istənilən halda, agent cari tapşırığı sona çatdıracaq.

Vaxt dəqiqələrə yuvarlaqlaşdırılır, ofisdəki bütün söhbətlər vaxt almır.

Sizin vəzifəniz — verilmiş tapşırıqların təsvirinə əsasən bütün agentlərin fəaliyyətlərini göstərən proqram yazmaqdır.

Giriş

Giriş faylındakı bütün rəqəmlər və sətrlər boşluqlarla və/ya yeni sətrlərlə ayrılmış ola bilər. Giriş faylı aşağıdakıları ehtiva edir:

- Agentlərin sayı (), sonra hər bir agent üçün adı, dəqiqliyi, piyada sürəti, zəkiliyi, təcrübəsi, avtomobil idarəetmə bacarığı və təyin edilmiş hərf. Bütün hərflər fərqlidir. - Avtomobil növlərinin sayı (), sonra hər bir növ üçün agentin avtomobili idarə edə bilməsi üçün minimum bacarıq, maksimum məsafə və növün adı. - Avtomobillərin sayı (), sonra hər bir avtomobil üçün növün adı, cari məsafə (maksimum məsafədən çox deyil) və avtomobilin nömrəsi. - Canavar növlərinin sayı (), sonra hər bir növ üçün bu canavarı öldürmək üçün lazım olan minimum təcrübə, minimum zəkilik, qaçınma qabiliyyəti, öldürmə üçün verilən təcrübə və növün adı. - Agentin keçə biləcəyi maksimum məsafə, canavarların maksimum qaçınma qabiliyyəti, canavarların öldürülməsi üçün verilən maksimum təcrübə və agentin təqaüddə çıxması üçün lazım olan maksimum təcrübə. - Təşkilatda baş verən hadisələrin sayı (). Sonra hər bir hadisə üçün: - hadisənin vaxtı. - Yeni agentin gəlməsi: 'newagent', agentin adı, dəqiqliyi, piyada sürəti, zəkiliyi, təcrübəsi və avtomobil idarəetmə bacarığı. - Yeni avtomobilin gəlməsi: 'newcar', avtomobil növünün adı, cari məsafə və nömrə. - Çatdırılma tapşırığı üçün: 'quest run', məsafə. - Canavarın öldürülməsi üçün: 'quest kill', məsafə və canavar növünün adı. - Araşdırma üçün: 'quest findout', məsafə, minimum zəkilik və minimum araşdırma vaxtı. - Danışıqlar üçün: 'quest talk', məsafə, minimum təcrübə və minimum danışıq vaxtı.

Bütün xüsusiyyətlər sıfırdan birə qədər olan real rəqəmlərdir. Giriş faylındakı digər bütün rəqəmlər tamdır və modulu 10^6-dan çox deyil. Bütün agent adları, avtomobil və canavar növlərinin adları və avtomobil nömrələri latın hərfləri və rəqəmlərdən ibarətdir, onların uzunluğu ondan çox deyil. Bütün adlar, növlər və nömrələr fərqlidir. Hadisələr vaxtına görə sıralanmışdır, bütün hadisələrin baş vermə vaxtı fərqlidir.

Çıxış

Çıxış faylına bütün hadisələri aşağıdakı formatda yazın: 'dddd:hh:mm <Hadisə təsviri>', burada 'dddd:hh:mm' başlanğıc vaxtından etibarən hadisənin baş verdiyi gün, saat və dəqiqədir, '<Hadisə təsviri>' aşağıda sadalanan təsvirlərdən biridir:

- **"New agent <ad> got a letter <hərf>."** - **"MIB bought a car of class <ad>."** - **"Agent <hərf1>[ and agent <hərf2>] started quest <number>[ using car <avtomobil nömrəsi>]."** - **"Agent <hərf1>[ and agent <hərf2>] killed monster <ad>."** - **"Car <nömrə> was broken."** - **"Agent <hərf1>[ and agent <hərf2>] finished quest <number>."** - **"Agent <hərf> has tired."**

Tapşırıqlar birinci nömrədən başlayaraq, giriş faylında göstərildiyi sıraya nömrələnir. Əgər bir neçə hadisə eyni vaxtda baş verirsə, onlar yuxarıda göstərilən sıraya uyğun olaraq çıxarılmalıdır (məsələn, əvvəlcə yeni agent gəldi, sonra avtomobil xarab oldu).

Nümunələr

Nümunə 1

Loading
Loading