سلام دوست عزیز😃👋

به مسابقه «کدکاپ ۸ - انتخابی ۶» خوش آمدی!

  • اگر تا الان سوالی در سیستم داوری کوئرا حل نکردید حتماً نحوه‌ی کار با ورودی و خروجی را یاد بگیرید.
  • اگر ابهامی درباره‌ی قوانین شرکت در مسابقات این قسمت را بخوانید تا از شما تقلب گرفته نشود.
  • از قوانین مهم اینکه هرگونه استفاده از ابزارهای آماده‌ی تولید کد مثل chatGPT و یا تبادل کد با سایر شرکت‌کنندگان مسابقه ممنوع است و منجر به حذف شما از رقابت می‌شود.
  • برای اطلاع بیشتر از خطاهایی که سیستم داوری به شما می‌دهد این لینک را مطالعه کنید.
  • می‌توانید سوال‌ها و مشکلات خود را از بخش سوال بپرسید با ما در میان بگذارید.

موفق باشید و بهتون خوش بگذره 😉✌

⚡راستی! امشب ساعت ۱۹:۳۰ کلاس آنلاین حل سوالات مسابقه توی این لینک برگزار می‌شه و از هر استان، به ۳ نفر از شرکت‌کنندگان، دوره‌های دلخواه مقدماتی و یا پیشرفته کوئراکالج هدیه می‌شه.🎁

شلیک به سیبل


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

سارا در مرکز محور مختصات ایستاده است و تکان نمی‌خورد. اطراف او nn سیبل وجود دارد که او می‌خواهد به سمت آن‌ها تیر اندازی کند. سارا می‌خواهد با کمترین تعداد گلوله‌ی ممکن تمام سیبل‌ها را سوراخ کند. سارا برای اینکار به حداقل چند گلوله نیاز دارد؟

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

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

عباس در حال شلیک به سیبل

ورودی🔗

در سطر اول ورودی، عدد طبیعی nn که تعداد سیبل‌ها است داده شده است. 1n1000001\leq n \leq 100\,000

در tt سطر بعدی، در هر سطر اطلاعات یک سیبل داده شده است. هر سیبل با دادن چهار عدد x1,y1,x2,y2x_1, y_1, x_2, y_2\, مشخص می‌شود که (x1,y1)(x_1,y_1) مختصات یک سر سیبل و (x2,y2)(x_2,y_2) مختصات سر دیگر سیبل است.

109x1,x2109-10^9\leq x_1,x_2 \leq 10^9 109y1,y2109-10^9\leq y_1,y_2 \leq 10^9

همچنین میدانیم هیچ سیبلی از روی سارا (نقطه‌ی (0,0)(0, 0)) عبور نمی‌کند و همچنین اگر هر سیبل را از دو طرفش ادامه دهیم این خط هم با سارا (نقطه‌ی (0,0)(0, 0)) برخورد نمی‌کنند.

خروجی🔗

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

مثال‌ها🔗

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

4
0 1 1 0 
2 0 0 -1 
0 -3 -1 0 
-5 0 0 4 
Plain text

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

2
Plain text
توضیح نمونه ۱

اگر ۲ شلیک را مانند شکل زیر انجام دهد هر ۴ سیبل را سوراخ کرده است.

توضیح تصویر

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

6
-1 2 -2 1 
-5 5 6 5 
-5 -6 6 5 
-5 5 -5 -6 
-2 1 -2 -1 
-1 2 0 2 
Plain text

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

3
Plain text
توضیح نمونه ۲

اگر ۳ شلیک را مانند شکل زیر انجام دهد هر ۶ سیبل را سوراخ کرده است.

توضیح تصویر

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.