بمعرفة دلوين مختلفين في الحجم وأي الدلوين يجب ملؤه أولًا، حدّد عدد الإجراءات اللازمة لقياس عدد محدد من اللترات بنقل السائل بين الدلوين بذكاء.
هناك بعض القواعد التي يجب أن يتبعها حلّك:
سيستقبل برنامجك المدخلات التالية:
وعلى برنامجك أن يحدد:
ملاحظة: أي تغيير يُجرى على أحد الدلوين أو كليهما يُحتسب إجراءً واحدًا (1).
مثال: يستوعب الدلو الأول حتى 7 لترات، ويستوعب الدلو الثاني حتى 11 لترًا. لنفترض أن الدلو الأول يحتوي في خطوة معينة على 7 لترات وأن الدلو الثاني يحتوي على 8 لترات (7,8). إذا فرّغت الدلو الأول دون إجراء أي تغيير على الدلو الثاني، فتبقى لديك 0 لتر و8 لترات على الترتيب (0,8)، فهذا يُحتسب إجراءً واحدًا. أما إذا كنت قد سكبت من الدلو الأول في الدلو الثاني حتى امتلأ الدلو الثاني، فتصبح النتيجة 4 لترات في الدلو الأول و11 لترًا في الدلو الثاني (4,11)، فهذا أيضًا يُحتسب إجراءً واحدًا فقط.
مثال آخر: يستوعب الدلو الأول 3 لترات، ويستوعب الدلو الثاني حتى 5 لترات. ويُقال لك إن عليك البدء بالدلو الأول. لذا فإن إجراءك الأول هو ملء الدلو الأول. ثم تختار تفريغ الدلو الأول في إجراءك الثاني. أما في إجراءك الثالث، فلا يجوز لك ملء الدلو الثاني، لأن هذا يخالف القاعدة الثالثة: لا يجوز أن تنتهي بعد أي إجراء إلى حالة يكون فيها الدلو الذي بدأت به فارغًا والدلو الآخر ممتلئًا.
كُتبت بـ<3 في Fullstack Academy بقلم Lindsay Levine.
سجّل في Exercism لتتعلّم وتتقن Elm عبر 28 مفهومًا110 تمارين، وإرشاد بشري حقيقي، وكل ذلك مجانًا.