دنباله تورج‌پسند


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

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

آقا تورج دنباله a1,a2,....,aka_1, a_2, .... , a_k از اعداد حسابی را دنباله‌ای خوب می‌داند اگر شرایط زیر برقرار باشد :‌

0a1d0 \le a_1 \le d 2ik,  aiai1d2\le i \le k ,\ \ \mid a_i - a_{i - 1} \mid \le d

آقا تورج مقادیر dd و kk را برای توک معین کرده است، اکنون توک باید باقی‌مانده تعداد دنباله‌های خوب را بر 109+710^9 + 7 بیابد تا بتواند به خواستگاری پوپک برود.

ورودی🔗

در تنها خط ورودی به ترتیب دو عدد kk و dd آمده است. 0d2 0000 \le d \le 2\ 000 1k1001 \le k \le 100

خروجی🔗

در تنها خط خروجی باقی مانده تعداد دنباله‌های خوب بر 109+710 ^ 9 + 7 را چاپ کنید.

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

2 2
Plain text

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

12
Plain text

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

1 10
Plain text

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

11
Plain text

صمد و توک


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

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

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

آقا تورج فرمانده ارتش است. در راستای انجام پروژه‌ای محرمانه نیاز شده است که nn پایگاه ارتش با تعدادی تونل دوطرفه یه یکدیگر متصل شوند، ارتش می‌تواند بین هر دو پایگاه دلخواه ii و jj تونلی بسازد که طول آن عددی بین 11 تا 10910^9 (شامل هر دو) باشد.

ارتش می‌خواهد که این تونل‌ها را به شکلی بین برخی از پایگاه‌ها بسازد که در نهایت طول کوتاه‌ترین مسیر از پایگاه ii به پایگاه jj برابر با Ai,jA_{i, j} باشد.

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

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

ورودی🔗

در خط اول ورودی عدد nn ، تعداد پایگاه‌های ارتش آمده است.

سپس در nn سطر بعدی ماتریس AA می‌آید.

در هر سطر nn عدد می‌آید که عدد jj ام در سطر i+1i+1 ام ورودی ، طول کوتاه‌ترین مسیر از پایگاه ii به jj را مشخص می‌کند، تضمین می‌شود که Ai,i=0A_{i, i} = 0 است.

1n5001 \le n \le 500 ij:1Ai,j109i \neq j : 1 \le A_{i, j} \le 10^9 i=j:Ai,j=0 i = j : A_{i, j} = 0

خروجی🔗

چناچه نمی‌توان تعدادی تونل دوطرفه با طول‌های دلخواه ساخت که طول کوتاه‌ترین مسیر از پایگاه ii به پایگاه jj برابر با Ai,jA_{i, j} باشد، در یک خط فقط عدد -1 را چاپ کنید .

در غیراین‌صورت کمترین تعداد تونل مورد نیاز که باید بین پایگاه‌ها ساخته شود را چاپ کنید.

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

2
0 4
4 0
Plain text

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

1
Plain text

کافی است یه تونل با طول 44 (زمان گذشتن از آن 44 است) ، بین پایگاه‌های 11 و 22 بسازیم.

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

1
0
Plain text

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

0
Plain text

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

2
0 10
56 0
Plain text

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

-1
Plain text

نمی‌توان تعدادی تونل ساخت که طول کوتاه‌ترین مسیر از پایگاه 11 به 22 با طول کوتاه‌ترین مسیر از پایگاه 22 به 11 برابر نباشد (تونل‌ها همگی دوطرفه‌اند)

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

3
0 4 8
4 0 4
8 4 0
Plain text

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

2
Plain text

انتقام توک


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

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

برای این کار، توک یک بمب در اتاق آقا تورج کار می‌گذارد.

آقا تورج وقتی متوجه بمب می‌شود که دیگر خیلی دیر شده و برای نجات دفترش می‌خواهد رمز بمب را حدس بزند. برای خنثی کردن بمب او باید nn تا عدد a1,a2,...,an1,ana_1,a_2,...,a_{n-1},a_{n}را انتخاب کند به طوری که هر کدام عددی بین 00 تا 23112^{31}-1 (شامل هر دو) هستند.

او qq ثانیه برای فکر کردن دارد. در هر ثانیه این حدس را می‌زند که xorxor دو عدد aia_i و aja_j برابر kk است. شما باید بعد از هر حدس به تورج بگویید که به چند طریق مختلف می‌تواند رمز را بزند (آرایه aa را انتخاب کند) که تمام حدس‌هایی که تا الان زده شده، در آرایه aa صدق کند (توجه کنید که ممکن است تعداد این حالات 00 باشد یعنی حالتی نباشد که با حدس‌ها هم‌‌خوانی داشته باشد). باقیمانده جواب را بر 109+710^9+7 چاپ کنید.

اگر با عملگر xorxor آشنایی ندارید اینجا را ببینید.

ورودی🔗

در خط اول ورودی دو عدد nn و qq داده شده است.

سپس در qq سطر بعدی در هر سطر یک حدس آقا تورج آمده است که به شکل سه عدد i,j,ki, j, k است.

1q300 0001 \le q \le 300\ 000 2n300 0002 \le n \le 300\ 000 1i,jn,ij1 \le i,j \le n , i\neq j 0k23110 \le k \le 2^{31}-1

خروجی🔗

به ازای هر حدس در qq سطر باقیمانده جواب مساله بر 109+710^9+7 را چاپ کنید.

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

3 2
1 2 100
2 3 71
Plain text

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

145586002
147483634
Plain text

نقشه حمله


  • محدودیت زمان: ۲ ثانیه

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


بعد از ترکیدن بمب، آقا تورج با اینکه خودش را از بمب دور می‌کند به شدت آسیب می‌بیند و به کما می‌رود ...

توک به جای او فرماندهی رو به دست گرفته است و در یکی از حمله‌ها در حال توضیح دادن نقشه حمله به سربازان، یکی از سربازها می گوید که او هم نقشه‌ای برای حمله دارد. یک نقشه برای حمله، چیدن nn سرباز در یک جدول n×nn \times n است به طوری که در هر سطر و در هر ستون دقیقا یک سرباز وجود داشته باشد.

ضعف یک نقشه بزرگترین kk ای است که در نقشه یک مربع k×kk \times k وجود داشته باشد به طوری که هیچ سربازی در آن مربع نباشد.

نقشه توک به صورتی است که ضعف آن کم‌ترین ضعف بین تمام نقشه‌ها را دارد (توجه کنید که ما نقشه توک را نداریم.) اگر نقشه‌ای که سرباز توک به او پیشنهاد می‌کند میزان ضعفش بیشتر از نقشه توک باشد، توک او را به سیاه‌چاله می‌اندازد!

در ورودی به شما نقشه سرباز داده شده است. ابتدا بگویید ضعف این نقشه چقدر است. سپس بگویید آیا سرباز در سیاه‌چاله می افتد یا خیر. ( آیا نقشه‌ای وجود دارد که ضعفش کمتر از نقشه پیشنهادی سرباز باشد؟ )

نقشه حمله سرباز به شکل یک جای‌گشت با نام PP داده می‌شود که PiP_i شماره سطری است که سرباز ستون ii ام در نقشه پیشنهادی در آن قرار گرفته است.

ورودی🔗

در خط اول ورودی عدد nn آمده است . سپس در nn خط بعدی جای‌گشت PP آمده است که یعنی در نقشه پیشنهادی، سرباز ستون ii ام، در سطر PiP_i قرار گرفته است.

1n100 0001 \le n \le 100\ 000 1Pin1 \le P_i \le n

خروجی🔗

در خط اول ضعف نقشه پیشنهادی سرباز را چاپ کنید.

سپس در خط دوم، چنانچه سرباز به سیاه‌چاله می‌افتاد YES و در غیراین‌صورت NO چاپ کنید.

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

4
1
2
3
4
Plain text

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

2
YES
Plain text

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

2
1
2
Plain text

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

1
NO
Plain text

فرار از زندان


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

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

ورودی🔗

در خط اول ورودی دو عدد nn و mm ، تعداد راس ها و تعداد یال‌های گراف داده شده است.

سپس در mm سطر بعدی، دو عدد uu و vv می آید که نشان دهنده این است که این دو راس در گراف به یکدیگر یال دارند.

1n,m401 \le n,m \le 40 1m(n2)1 \le m \le {{n}\choose {2}}

خروجی🔗

در تنها خط خروجی تعداد دور‌های گراف را چاپ کنید.

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

3 3
1 2
2 3
3 1
Plain text

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

1
Plain text

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

6 7
1 2
2 3
3 4
4 5
5 6
6 1
1 4
Plain text

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

3
Plain text