ټاپ کوډر خلاص 2019 ننګونه: پائی په شپږو ټوټو وویشئ

ټاپ کوډر خلاص 2019 ننګونه: پائی په شپږو ټوټو وویشئ
په پښو کې "زموږ وګټله: ټاپ کوډر خلاص 2019" زه د الګوریتم ټریک څخه ستونزې خپروم (کلاسیک سپورت پروګرامونه. په یو نیم ساعت کې تاسو اړتیا لرئ په جاوا، C#، C++ یا Python کې درې ستونزې حل کړئ.)

1. پائی د شپږو لپاره

د ستونزې تشکیل

د وخت حد 4 ثانیې دی.

تاسو یو پائی لرئ. کله چې له پورته څخه لیدل کیږي، کیک د (سخت) محدق پولیګون شکل لري. تاسو ته په X او Y عددونو کې د عمودیو همغږي درکول کیږي.

تاسو پنځه ملګري لرئ. تاسو غواړئ پائی د مساوي ساحې په شپږو ټوټو وویشئ (مګر ضروري نه ده ورته شکل). البته، هرڅوک کولی شي دا په پنځو کټیو کې ترسره کړي، مګر یوازې یو پرو کولی شي دا په دریو کټارو کې ترسره کړي.

د یوې نقطې له لارې په مستقیم کرښو کې درې کټونه ومومئ چې پای به په شپږو مساوي برخو وویشي. چاپ کړئ {x, y, d1, d2, d3}، چیرته چې (x, y) د ټولو دریو کټارو مشترکه نقطه ده، او d1، d2، d3 په ریډینونو کې د کټ سمت زاویې دي.

تعریفټولګي: CakeForSix
طریقه: پرې کول
پیرامیټرونه: int[]، int[] بیرته راګرځي: ډبل[] میتود لاسلیک: ډبل[] کټ(انټ[] ایکس، انټ[] y)
(ډاډ ترلاسه کړئ چې ستاسو طریقه عامه ده)

یادښتونه

  • د ایکس محور سره مثبت لوري 0 (ریډیان) دی، د y محور سره مثبت لوري pi/2 (ریډیان) دی.
  • د d په لور یو کټ د pi*k + d سمت کې د کټ سره ورته دی د هر عدد k لپاره.
  • تاسو کولی شئ هر ډول لارښوونې تولید کړئ، دوی باید د [0، pi) څخه نه وي.
  • درجه بندي به ستاسو د شپږ ټوټو کیک ساحه په دوه ګونی حساب کړي. ځواب به ومنل شي که چیرې د دوی ترمنځ نسبي یا مطلق توپیر له 10^(-4) څخه کم وي.
  • په دقیق ډول، اجازه راکړئ چې X او Y ستاسو د شپږو ساحو څخه ترټولو کوچني او لوی وي چې د ګریډر لخوا محاسبه شوي. بیا ستاسو ځواب به ومنل شي که Y
  • (د ستونزې اصلي نسخه د 1e-7 پرځای د 1e-4 دقیقیت کارولې. په آرشیف کې د دې ستونزې د حل لپاره، دقیقیت حد د زنګ وهلو قضیو شتون له امله ټیټ شوی و چې احتمال به یې ستونزه په دقیقیت سره حل نشي. د 1e-7 څخه. په یوه مثالي نړۍ کې، محدودیتونه دا ډول قضیو ته اجازه نه ورکوي او لاهم لوړ دقیقیت ته اړتیا لري، نو د ځینې عمومي شمیرې اصلاح کولو سره د ستونزې حل کول اسانه ندي.)

محدودیتونه

  • x د 3 څخه تر 50 پورې عناصر لري.
  • y د ایکس په څیر ورته شمیر عناصر لري.
  • ټول همغږي د 0 او 10 ترمنځ په شمول
  • x او y د ساعت په مخالف لوري کې محدق پولیګون تعریفوي.

په انګلیسي کې اصلي

ستونزه بیان

د وخت حد 4 ثانیې دی.

تاسو یو کیک لرئ. له پورته څخه لیدل شوي، کیک یو (سخت) محدق پولیګون دی. تاسو ته په int[]sx او y کې د هغې د عمودیو همغږي درکول کیږي.

تاسو پنځه ملګري لرئ. تاسو اوس غواړئ کیک د مساوي ساحې په شپږو ټوټو کې پرې کړئ (مګر اړینه نه ده چې مساوي شکل وي). البته، هر څوک کولی شي دا په پنځو کټونو کې وکړي - مګر یوازې یو ریښتینی پرو کولی شي دا په دریو کې ترسره کړي!

د ورته نقطې څخه تیریږي درې مستقیم کرښه کټ ومومئ چې کیک یې په شپږو مساوي لویو برخو وویشئ. بیرته راګرځئ {x, y, d1, d2, d3}، چیرته چې (x, y) د دریو قطعاتو مشترکه نقطه ده، او d1، d2، d3 په ریډینونو کې د دوی لارښوونې دي.

تعریف

ټولګي: CakeForSix
طریقه: پرې کول
پیرامیټرونه: int[]، int[] بیرته راګرځي: ډبل[] میتود لاسلیک: ډبل[] کټ(انټ[] ایکس، انټ[] y)
(ډاډ ترلاسه کړئ چې ستاسو طریقه عامه ده)

یاداښتونه
- د x محور سره مثبت لوري 0 (ریډیان) دی، د y محور سره مثبت لوري pi/2 (ریډیان) دی.
— په d کې کټ د کوم بشپړ k لپاره د pi*k+d په سمت کې د کټ په څیر دی.
- تاسو کولی شئ هر ډول لارښوونې بیرته راشئ، دوی باید د [0، pi) څخه نه وي.
- ګریډر به ستاسو د شپږ کیک ټوټو ساحې په دوه چنده حساب کړي. ځواب به ومنل شي که چیرې د دوی ترمنځ نسبي یا مطلق توپیر له 10^(-4) څخه کم وي.
- په دقیق ډول، اجازه راکړئ چې X او Y ستاسو په شپږو برخو کې ترټولو کوچنی او لوی وي، لکه څنګه چې د ګریډر لخوا محاسبه کیږي. بیا، ستاسو ځواب به ومنل شي که Y < max(X + 10^(-4)، X * (1+10^(-4))).
— (د ستونزې اصلي نسخه د 1e-7 پرځای 1e-4 دقیقیت کارولې. په آرشیف کې د دې ستونزې د حل لپاره دقیقیت حد د ننګونې قضیې شتون له امله ټیټ شوی و چې ډیری احتمال یې د 1e-7 دقیقیت سره کار ناشونی کوي. په یوه مثالي نړۍ کې محدودیتونه به دا ډول قضیو ته اجازه ورنکړي او لاهم لوړ دقیقیت ته اړتیا لري ، نو د عمومي شمیرې اصلاح کولو له لارې د ستونزې حل کول اسانه ندي.)

خنډونه
x به د 3 څخه تر 50 پورې عناصر ولري، په شمول.
- y به د ایکس په څیر د عناصرو ورته شمیر ولري.
- ټول همغږي به د 0 او 10,000 ترمنځ وي، په شمول.
x او y به د ساعت په مقابل کې یو محدق پولیګون تشریح کړي.

مثالونه

0)

{۴، ۲، ۶، ۱، ۳، ۵}
{۴، ۲، ۶، ۱، ۳، ۵}
راستنیدنه:
24.999999999437453، 9.999999999500002، 0.0، 0.7266423406817211، 2.4149503129080787 }

یو متناسب مګر غیر منظم مسدس. د مثال ځواب د دې سره مطابقت لري چې په نیم افقی ډول یې پرې کړئ او د مرکز لاندې دوه نورې ټوټې کړئ چې هره ټوټه په دریو برخو ویشل کیږي.

ټاپ کوډر خلاص 2019 ننګونه: پائی په شپږو ټوټو وویشئ

1)

{، ،، ،}}
{، ،، ،}}
راستنیدنه:
333.3333333331763، 333.3333333332546، 0.7853981633986264، 2.0344439357948154، 2.6779450445891753 }

ښی مثلث. یو ځل بیا، موږ کولی شو د سمیټري محور په اوږدو کې له دریو کټیو څخه یو سره پیل کړو.

ټاپ کوډر خلاص 2019 ننګونه: پائی په شپږو ټوټو وویشئ

2)

{، ،، ،، ،، ،}}
{، ،، ،، ،، ،}}
راستنیدنه:
69.79517771922892، 52.77575974637605، 2.0616329654335885، 3.637826104091601، 4.32123485812475 }

غیر منظم پنټاګون.

ټاپ کوډر خلاص 2019 ننګونه: پائی په شپږو ټوټو وویشئ

3)

{300 ، 400 ، 300 ، 200
{500 ، 600 ، 700 ، 600
راستنیدنه: {299.99999999974995, 599.9999999995, 0.0, 1.107148717794088, 2.034443935795705 }

یو مربع په 45 درجو کې ګرځیدلی.

ټاپ کوډر خلاص 2019 ننګونه: پائی په شپږو ټوټو وویشئ

[سرچینه]

یوازې راجستر شوي کاروونکي کولی شي په سروې کې برخه واخلي. ننوزئمهرباني وکړئ

ما د دې لپاره ستونزه حل کړه

  • له 10 دقیقو څخه لږ وخت کې

  • 10-30 دقیقې

  • 30-60 دقیقې

  • د 1-2 ساعتونه

  • له 2 ساعتونو څخه ډیر

  • نور

42 کاروونکو رایه ورکړه. 47 کاروونکي منع شوي.

سرچینه: www.habr.com

Add a comment