এই প্রশ্নটি ASCII আর্ট সংস্করণের চেয়ে কিছুটা শক্ত। কোন শিল্প নেই, এবং এখন আপনি কিছু ভাসমান পয়েন্ট পাটিগণিত করতে হবে!
চ্যালেঞ্জ
ইউএসএস স্ট্যাকএক্সচেঞ্জ গ্রহের সিগ্রি -00 ডিএলএফ-এর গ্রাভিটি ক্ষেত্রের মধ্য দিয়ে যাচ্ছিল যখন বোর্ডে একটি জ্যোতির্বিজ্ঞান বিস্ফোরণ ঘটে। জাহাজের প্রধান প্রোগ্রামিং অফিসার হিসাবে, আপনার সিজি -00 ডিএলএফ-এর সৌরজগতে জমি ক্র্যাশ করতে বাধ্য করা হবে কিনা তা পূর্বাভাস দেওয়ার জন্য আপনার জাহাজের ট্রাজেক্টোরির অনুকরণ করা আপনার কাজ। বিস্ফোরণের সময়, আপনার জাহাজটি বেশ ক্ষতিগ্রস্থ হয়েছিল। স্পেসশিপের সীমিত ফ্রি DEEEPAROM * এর কারণে আপনার প্রোগ্রামটি যথাসম্ভব কম অক্ষরে লিখতে হবে।
* ডায়নামিক্য এক্সিকিউটেবল ইলেক্ট্রনিকালি ইরেসেবল প্রোগ্রামেবল এলোমেলো অ্যাক্সেস রিড ওয়ান মেমরি
সিমুলেশন
কিছুটা ASCII আর্ট সংস্করণের মতো, সময়-পদক্ষেপের ধারণা থাকবে। অন্য সংস্করণে, একটি সময়-পদক্ষেপটি তুলনামূলকভাবে বড় পরিমাণের সময় ছিল: জাহাজটি কোনও একক সময়কালে কোনও গ্রহের মাধ্যাকর্ষণ ছাড়িয়ে পথ ভ্রমণ করতে পারে। জড়িত বৃহত্তর দূরত্বের কারণে এখানে সময়-পদক্ষেপটি একটি অনেক ছোট ইউনিট। তবে একটি বড় পার্থক্য হ'ল কোষের অস্তিত্ব। মহাকাশযানের বর্তমান অবস্থান এবং বেগ জড়িত মহাকর্ষীয় বাহিনীর পাশাপাশি ভাসমান পয়েন্ট সংখ্যা হবে। আর একটি পরিবর্তন হ'ল গ্রহগুলির আকার এখন অনেক বড়।
সিমুলেশনটিতে তিনটি গ্রহ থাকবে। তিনটিরই একটি নির্দিষ্ট অবস্থান, ব্যাসার্ধ এবং মাধ্যাকর্ষণ থাকবে। প্রতিটি গ্রহের মাধ্যাকর্ষণটি একটি ভেক্টর যা সরাসরি গ্রহের কেন্দ্রের দিকে একটি শক্তি প্রয়োগ করে। এই ভেক্টরের শক্তি খুঁজে পাওয়ার সূত্রটি হ'ল (Gravity)/(Distance**2)
, যেখানে দূরত্বটি জাহাজ থেকে গ্রহের কেন্দ্রের ঠিক দূরত্ব is এর অর্থ হল মহাকর্ষ যেখানে পৌঁছতে পারে তার কোনও সীমা নেই।
যে কোনও নির্দিষ্ট সময়ে, স্পেসশিপটির একটি বেগ থাকে, এটি শেষ সময় থেকে এখন অবধি যে দূরত্ব এবং কোণে ভ্রমণ করেছিল। জাহাজটিরও গতি আছে। এটি বর্তমান সময়-পদক্ষেপ এবং পরবর্তীটির মধ্যে যে দূরত্বটি ভ্রমণ করবে এটি হ'ল তার বর্তমান গতিবেগের যোগফল এটির অবস্থানের মহাকর্ষ ভেক্টরগুলির সাথে যুক্ত হয়ে। এটি স্পেসশিপের নতুন বেগ হয়ে যায়।
প্রতিটি সিমুলেশনের 10000 সময় ধাপের সময়সীমা থাকে। যদি মহাকাশযানটি কোনও গ্রহের অভ্যন্তরে ভ্রমণ করে (এটি গ্রহের ব্যাসার্ধের চেয়ে গ্রহের কেন্দ্রের কাছাকাছি), তবে এটি সেই গ্রহে ক্র্যাশ হয়ে যায়। সিমুলেশন শেষ হওয়ার পরে যদি স্পেসশিপ কোনও গ্রহে ক্রাশ না হয়, তবে এটি মহাকর্ষ থেকে পালিয়ে গেছে বলে ধারণা করা হচ্ছে। সম্ভবত জাহাজটি এত নিখুঁতভাবে সংযুক্ত করা যায় যে এটি 10001 তম সময়-ধাপে ক্র্যাশ হওয়ার সময় 10000 টাইম-স্টেপগুলির জন্য কক্ষপথে থাকার ব্যবস্থা করে।
ইনপুট
ইনপুটটি STDIN- এ চারটি লাইন হবে। প্রতিটি লাইনে চারটি কমা-বিস্মৃত সংখ্যা থাকে। এখানে সংখ্যার ফর্ম্যাটটি দেওয়া হল:
ShipLocX,ShipLocY,ShipVelX,ShipVelY
Planet1LocX,Planet1LocY,Planet1Gravity,Planet1Radius
Planet2LocX,Planet2LocY,Planet2Gravity,Planet2Radius
Planet3LocX,Planet3LocY,Planet3Gravity,Planet3Radius
যদি তিনটিরও কম গ্রহ থাকে, তবে বাকি মানগুলি সমস্ত মানের জন্য শূন্যে পূর্ণ হবে। এখানে একটি উদাহরণ ইনপুট:
60,0,0,10
0,0,4000,50
100,100,4000,50
0,0,0,0
এর অর্থ হ'ল স্পেসশিপটি (60,0) এ অবস্থিত এবং 10 ইউনিট / সময়-পদক্ষেপের হারে সোজা "উপরে / উত্তর" ভ্রমণ করছে। দুটি গ্রহ রয়েছে, একটি অবস্থিত (0,0) এবং একটিতে (100,100)। উভয়ের মাধ্যাকর্ষণ 4000 এবং 50 এর ব্যাসার্ধ রয়েছে these যদিও এগুলি সমস্তই পূর্ণসংখ্যা হলেও তারা সবসময় পূর্ণসংখ্যার হবে না।
আউটপুট
স্পেসশিপ ক্র্যাশ হয়েছে কিনা তা জানার জন্য আউটপুট STDOUT- এর একক শব্দ হবে। যদি জাহাজটি ক্র্যাশ অবতরণ করে তবে মুদ্রণ করুন crash
। অন্যথায়, মুদ্রণ escape
। উপরের ইনপুটটির জন্য প্রত্যাশিত আউটপুট এখানে রয়েছে:
crash
আপনি ভাবছেন যে কি ঘটেছে। এখানে একটি পাস্তবিন পোস্ট যা স্পেসশিপের জন্য বিশদ ফ্লাইট লগ রয়েছে। সংখ্যাটিকে লোকেরা ইভেন্টটি কল্পনা করতে সহায়তা করার ক্ষেত্রে খুব ভাল নয় তাই এখানে যা ঘটেছিল তা হল: মহাকাশযানটি দ্বিতীয় গ্রহের মাধ্যাকর্ষণ (এর উত্তর-পূর্ব) এর সাহায্যে প্রথম গ্রহের মাধ্যাকর্ষণ (তার পশ্চিমে) পালাতে সক্ষম হয়। এটি উত্তর দিকে চলে যায় এবং তারপরে দ্বিতীয় গ্রহের পশ্চিমে কিছুটা যায়, সবেমাত্র এটি মিস হয়। এরপরে এটি গ্রহের উত্তর দিকের চারদিকে বাঁকানো এবং দ্বিতীয় গ্রহের পূর্ব দিকে ক্র্যাশ হয়ে যায়।
পরীক্ষার জন্য আরও কিছু মামলা
60,0,10,-10
0,0,2000,50
100,100,1357.9,47.5
0,0,0,0
পালানো (বিপরীত বর্গাকার আইনের কারণে 2000 আপনি যদি 60 ইউনিট দূরে থাকেন তবে খুব বেশি মাধ্যাকর্ষণ নয়)
0,0,0,0
100,100,20000,140
-50,-50,50,50
-100,-100,50,50
ক্র্যাশ (প্রথম গ্রহটি অত্যন্ত বিশাল এবং অত্যন্ত নিকটে)
0,0,0,0
0,0,0,0
0,0,0,0
0,0,0,0
অব্যাহতি (এটি একটি প্রান্তের কেস: কোনও গ্রহ নেই এবং একটি সরল ব্যাখ্যা ব্যাখ্যা করবে যে স্পেসশিপটি সরাসরি গ্রহগুলির শীর্ষে রয়েছে)
বিধি, বিধিনিষেধ এবং নোটস
এটি কোড গল্ফ। স্ট্যান্ডার্ড কোড গল্ফ বিধি প্রযোজ্য। আপনার প্রোগ্রামটি কেবল ছাপার যোগ্য ASCII অক্ষরে লেখা উচিত। আপনি কোনও ধরণের বাহ্যিক ডাটাবেস অ্যাক্সেস করতে পারবেন না। আপনি যে কোনও ভাষায় এন্ট্রি লিখতে পারেন (এই চ্যালেঞ্জটি সমাধানে বিশেষায়িত এক ব্যতীত)।
শেষ ট্রান্সমিশন