فوق سری


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

آقای ـــــ به تازگی به ریاست یک سازمان فوقِ فوقِ مافوقِ سرّی درآمده است! امّا چند صباحی است که از منبعی موثّق شنیده در آن سازمان یک نفر مشغول جاسوسی است. نام‌برده از آن روز تا همین لحظه آرام و قرار ندارد؛ حتّی نزدیکانش نقل کرده‌اند از فرط اضطراب، آمار مصرف قرص‌های اعصابش سر به فلک کشیده است.

مشاوران آقای ـــــ که بسیار نگران حال وی هستند، تصمیم گرفتند جاسوس را بیابند بلکه حال عمومی او بهبود یابد. تعداد کارمندان اداره بسیار زیاد است و برای جمعیت اندک مشاوران و معتمدان آقای ـــــ ، پیدا کردن جاسوس از بین این حجم کارمند، مانند پیدا کردن سوزنی در انبار کاه است. لذا آن‌ها تصمیم گرفتند از هر کارمند بخواهند اگر در میان افراد زیردستش به کسی مشکوک است، نام آن را سریعا اعلام کند.

در این اداره هر کارمند به جز آقای ـــــ یک مدیر دارد. فرض کنید کارمندان را با اعداد طبیعی از ۱ تا nn شماره‌گذاری کرده‌ایم.(آقای ـــــ هم یکی از این nn کارمند است) شماره‌ی مدیر کارمند iiام را با mim_i نشان می‌دهیم. mm به ازای آقای ـــــ نیز برابر با 1-1 خواهد بود. هم‌چنین هر کارمند یک میزان اعتبار در اداره دارد. اعتبار کارمند iiام را cic_i می‌نامیم. هم‌چنین اگر کسی بخواهد بررسی کند که کارمند iiام جاسوس است یا نه، نیاز به صرف tit_i دقیقه وقت دارد.

می‌گوییم کارمند AA زیردست کارمند BB است، در صورتی که BB مدیر AA باشد و یا کارمندی که مدیر AA است، زیردست BB باشد.

هر کارمند برای بررسی وجود جاسوس در بین زیردستانش، باید تمام زیردستانش که اعتبارشان از اعتبار او کم‌تر است را بررسی کند و همان طور که گفته شد برای بررسی هر یک از آن‌ها نیاز به مقداری وقت دارد. شما باید به ازای هر کارمند بگویید چه قدر طول می‌کشد تا آن کارمند زیردستانش را بررسی کند.

پ.ن.: نام آقای ـــــ به دلیل درخواست مکرّر مراجع قضایی از صورت سوال حذف گشت.

ویرایش: در این سوال ممکن نیست به ازای دو کارمند، کارمند اول زیردست کارمند دوم باشد و کارمند دوم زیر دست کارمند اوّل باشد.

ورودی🔗

در سطر اوّل ورودی عدد nn می‌آید.

در هر یک از nn خط بعد به ترتیب سه عدد mim_i و cic_i و tit_i می‌آیند.

1n,ti,ci1000001 \le n, t_i, c_i \le 100 000

خروجی🔗

در خط iiام از nn خط خروجی، زمانی که طول می‌کشد کارمند iiام زیردستانش با اعتبار کم‌تر را بررسی کند را چاپ کنید.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۵ n5000n \le 5000
۲ ۱۰ اعتبار هر کارمند از زیردستانش بیش‌تر است
۳ ۲۰ هر کارمند زیردست حداکثر ۲۰ نفر دیگر است
۴ ۶۵ بدون محدودیت اضافی

مثال🔗

ورودی نمونه ۱🔗

5
4 4 80
1 1 40
-1 10 60
3 5 50
4 8 70 
Plain text

خروجی نمونه ۱🔗

40
0
240
120
0
Plain text

هش‌های هوشنگ


  • محدودیت زمان: ۲ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت
  • منبع: COCI 2013/2014

هوشنگ خان که به تازگی در کلاس‌های هشینگ ثبت نام کرده، به همه‌ی روش‌هایی که به رشته‌ها عدد نسبت می‌دهند علاقه‌ی خاصی پیدا کرده است. آخرین روشی که به او گفته شده، بیش از همه‌ی روش‌های پیشین نظر او را به خود جلب کرده؛ این روش بصورت بازگشتی و به شکل زیر تعریف می‌شود.

  • اگر ss یک رشته‌ی خالی باشد، f(s)=0f(s) = 0
  • داریم ww یک رشته است و cc یک حرف کوچک انگلیسی، هم‌چنین ord(c)ord(c) به معنای شماره حرف cc بین حروف انگلیسی است؛ یعنی ord(a)=1ord(a) = 1 و ord(z)=26ord(z) = 26. با این‌ها، داریم: f(w+c)=((f(w)×33) xor ord(c))mod2m f(w + c) = ((f(w) \times 33)\ xor\ ord (c)) \mod 2^m که w+cw + c یعنی اضافه کردن حرف cc به انتهای رشته‌ی ww.

هوشنگ‌خان پس از مدتی بررسی، به امنیت این روش مشکوک شده است. برای همین به شما مقادیر nn و mm و xx را می‌دهد و از شما می‌خواهد که تعداد رشته‌های nn حرفی از حروف کوچک انگلیسی را بشمارید که مقدار ff برای آن‌ها برابر xx می‌شود.

ورودی🔗

در سطر اوّل ورودی سه عدد nn و xx و mm می‌آید.

1n101 \le n \le 10 6m256 \le m \le 25 0x2m0 \le x \le 2^m

خروجی🔗

در تنها خط خروجی یک عدد چاپ کنید که برابر پاسه مسئله است.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۳۲ n5n \le 5
۲ ۶۸ بدون محدودیت اضافی

مثال🔗

ورودی نمونه ۱🔗

1 0 10 
Plain text

خروجی نمونه ۱🔗

0
Plain text

ورودی نمونه ۲🔗

1 2 10
Plain text

خروجی نمونه ۲🔗

1
Plain text

کلمه‌ی تک‌حرفی b در این مثال شمرده می‌شود.

ورودی نمونه ۳🔗

3 16 10
Plain text

خروجی نمونه ۳🔗

4
Plain text

این ۴ کلمه، dxl و hph و lxd و xpx هستند.

کیمیا زورو


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

کیمیا که به تازگی در کلاس‌های شمشیر بازی ثبت‌نام کرده، یکی از لازمه های یک شمشیر باز ماهر را امضا زدنِ با شمشیر می‌داند. به همین منظور ابتدا ۲ عدد AA و BB را انتخاب می‌کند و سپس به ازای تمامی مقادیر صحیح ** 0a<A0 \le a < A و 0b<B0 \le b < B **خطی به معادله‌ی y=ax+by = ax + b روی یک کاغذ می‌کشد. (این اتفاق در کمتر از ۱ نانو ثانیه می‌افتد!) و پس از این که تمامی خطوط را با شمشیرش کشید، به یک باره تمامی کاغذ به قطعه های حاصل از ضربات شمشیر تبدیل می‌شود. وظیفه ی شما شمردن این تکه هاست! :)

ورودی🔗

در تنها خط ورودی ۲ عدد ‌AA و BB داده می‌شود. 1A,B1 2001 \le A , B \le 1\ 200

خروجی🔗

در تنها خط خروجی تعداد تکه های کاغذ بعد از ضربات مرگبار کیمیا را چاپ کنید.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۳۰ A,B200A, B \le 200
۲ ۷۰ بدون محدودیت اضافی

مثال🔗

ورودی نمونه ۱🔗

1 1
Plain text

خروجی نمونه ۱🔗

2
Plain text

ورودی نمونه ۲🔗

2 2
Plain text

خروجی نمونه ۲🔗

9
Plain text

شکل پس از ضربات برای نمونه ۲

شکل پس از ضربات برای نمونه بالا