বিমানের নেভিগেশন


10

স্থানীয় বিমান বিমান সরবরাহকারী সংস্থার জন্য আপনাকে একটি উড়ন্ত রুটের পরিকল্পনা করার দায়িত্ব দেওয়া হয়েছে। আপনাকে পয়েন্ট এ থেকে পয়েন্ট বি পর্যন্ত বিমানটি রুট করতে হবে আপনি কেবল এ থেকে শুরু করতে পারবেন না, বি তে বিমানটি নির্দেশ করুন এবং যেতে পারবেন, তবে চলমান বাতাসগুলি আপনাকে প্রবাহিত করবে। পরিবর্তে আপনার বিমানের দিকে কোন দিকে নির্দেশ করা উচিত তা নির্ধারণ করা দরকার যাতে এটি বাতাসকে বিবেচনায় নিয়ে সরাসরি বিতে উড়ে যায়।

ইনপুট

7 ভাসমান-পয়েন্ট নম্বর, এনকোডিং A_x, A_y, B_x, B_y, S, W_x, W_y। এগুলি আপনার শুরু এবং গন্তব্যের স্থানাঙ্ক, আপনার বিমানের আকাশ ছোঁয়া, এবং এক্স এবং ওয়াই অক্ষের সাথে বাতাসের শক্তি (যে দিকে বাতাসটি প্রবাহিত হয় , সেদিকে নয়)।

আউটপুট

আপনার ডিগ্রিগুলিতে কোণটি মুদ্রণ করা উচিত (ধনাত্মক এক্স অক্ষ থেকে ঘড়ির কাঁটার বিপরীতে ঘোরানো) যে সমতলটি একটি সরলরেখায় বি পৌঁছানোর জন্য নির্দেশ করা উচিত। বাতাসটি GROUNDEDএত শক্তিশালী যদি ট্রিপটিকে অসম্ভব করে তোলে তবে মুদ্রণ করুন ।

আপনি নিকটতম ডিগ্রি পর্যন্ত যেতে পারেন এবং আপনি যে কোনও পদ্ধতি (আপ / ডাউন / নিকটবর্তী / ...) চান তা করতে পারেন।

উদাহরণ

ইনপুট

0 0 10 0 100 0 -50
0 0 10 0 50 -55 0
3.3 9.1 -2.7 1.1 95.0 8.8 1.7

আউটপুট

30
GROUNDED
229

সংক্ষিপ্ততম কোড জিতেছে।


1
সমতল পৃথিবী? বা ছোট জ্বালানীর ট্যাঙ্ক :-)
বিকাল ৪:১০ পিএমজি

5
দাঁড়াও ... পৃথিবী সমতল নয়?
কিথ র্যান্ডাল

1
(এক্সবি-এক্সএ) (ভি · সিনα + ওয়াই) = (ইয়াব-ইয়া) (ভি · কোসো + ডাব্লু এক্স) ... দুর্দান্ত।
ওলেহ প্রিপিন

@ ব্ল্যাকস্পরিট: যদি দুটি ভেক্টর বিপরীত দিকে থাকে?
লোজ্যাকার

@ ব্ল্যাকস্পিরিট: a sin x + b cos x = cআপনার সমীকরণ সমাধানের কয়েকটি পদ্ধতির জন্য গুগলে অনুসন্ধান করুন। সরাসরি সমাধান এখানে যাওয়ার সর্বোত্তম উপায় নাও হতে পারে, যদিও ...
কীথ র্যান্ডাল 21

উত্তর:


1

জে - 155 অক্ষর

h=:3 :0
'c w s'=.(([:j./[:-~/2 2$4{.]),([:j./5 6{]),4{])0".y
'T X'=.+.w*+c%|c
C=.-_1 o.X%s
>((s>|w)*.(-T)<s*2 o.C){'GROUNDED';360|<.360+(C+{:*.c)*180%o.1
)

উদাহরণ স্বরূপ:

   h '0 0 10 0 100 0 -50'
30
   h '0 0 10 0 50 -55 0'
GROUNDED
   h '3.3 9.1 -2.7 1.1 95.0 8.8 1.7'
229

আপনি জে সংখ্যার সিনট্যাক্সটি ( আপত্তিহীন অবহেলার জন্য) কিছু মনে না করলে এর 0".আগে সরিয়ে ফেলুন :y_

   h 0 0 10 0 100 0 _50
30

আমি যেমন আমার পার্ল উত্তরে উল্লেখ করেছি, আমি কেবল জে শিখছি, তবে এর শক্তি পছন্দ করছি।


2

পার্ল - 222 অক্ষর

use Math::Trig;($A,$a,$B,$b,$s,$W,$w)=split' ',<>;$c=atan2($b-$a,$B-$A);$A=atan2($w,$W);$S=sqrt($W*$W+$w*$w);$X=$S*sin($A-$c);$T=$S*cos($A-$c);$C=asin($X/$s);print((-$T>$s*cos($C))?"GROUNDED":(360+rad2deg($c-$C))%360,"\n")

স্ট্রাইফওয়ার্ড অ্যালগরিদম, এবং সত্যই কেবল শ্বেতস্থান এবং পরিবর্তনশীল নামের দৈর্ঘ্য সঙ্কুচিত করে গল্ফড, তবে আমি ভেবেছিলাম আমাদের এখানে প্রথম উত্তর প্রয়োজন। আমি গল্ফিংয়ের জন্য কিছু জে শিখছি; আমার সন্দেহ হয় যে কেবল জে (বা রুবি) তে অনুবাদ করা সহজেই এটিকে মারবে। তাদের চেষ্টা বন্ধ।

$X= ক্রসউইন্ড উপাদান, $Tটেলওয়াইন্ড উপাদান। টেলওয়াইন্ডটি আসলে একটি মাথাচাড়া দিয়ে উঠা (যেমন, নেতিবাচক) এবং আমাদের আকাশ ছোঁড়ার চেয়ে শক্তিশালী হলে আমরা ভিত্তিতে আছি। অন্যথায়, $Cবায়ু সংশোধন কোণ যা আমরা $cআমাদের শিরোনামটি পেতে আমাদের পাঠ্যক্রম থেকে বিয়োগ করি । আমাদের বেগের ক্রস ট্র্যাক উপাদানটির সাথে ক্রসউইন্ডের ভারসাম্য বজায় রাখতে আমাদের যথেষ্ট পরিমাণে ঘুরতে হবে।


0

পার্ল: 193

স্বীকৃতভাবেই এটি (বেশিরভাগ ক্ষেত্রে) ডিসিচারনেসের পার্ল কোড: তবে স্ব-পুনর্লিখনের উত্সটি কে পছন্দ করে না?

use Math::Trig;$/=' ';@i=<>;$_='1=atan2(3-1,2-0);0=atan2(6,5);2=sqrt(6*6+5*5);5=2*sin(0-1);3=2*cos(0-1);6=asin(5/4);print-3>4*cos 6?GROUNDED:int rad2deg(1-6),"\n"';s/((?<!\w)\d)/\$i[$1]/g;eval

এছাড়াও এটি অনুমানের বাইরে ডিগ্রি (যেমন <0 বা> 360) আউটপুট দেবে, তবে আমি কি স্ব-রচনার উত্সের কথা উল্লেখ করেছি?

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.