برنامه ریزی، نمرات و مباحث دروس

مهلت تحویل:

 دوشنبه 94/09/09 

چهارشنبه 94/09/11


طریقه تحویل:

نام فایل حاوی برنامه را شماره دانشجویی خود قرار داده و به mmnematollahi+DA@gmail.com ایمیل کنید. برای مثال اگر شماره دانشجویی شما 12345 باشد، نام فایل بایستی

 12345.java

باشد.


صورت سوال:

برنامه پیدا کردن طریقه ضرب ماتریس ها (پرانتزگذاری) به منظور یافتن حالتی که کمترین تعداد ضرب عددی را نیاز داشته باشد به زبان جاوا بنویسید.


ورودی: 

فایلی به نام input.txt حاوی موارد زیر:

خط اول تعداد ماتریس هایی که باید در هم ضرب شوند.

و در خطوط بعدی، در هر خط ابعاد ماتریس ها به ترتیب می آید.( ابعاد با کاما از هم جدا شده اند)


خروجی:

فایلی به نام output.txt حاوی موارد زیر:

خط اول حداقل تعداد ضرب لازم

خط دوم تعداد حالتی که می توان این ماتریس ها را پرانتز گذاری کرد.


مثال:

input.txt

4

5,2

2,3

3,4

4,6



output.txt

132

5


  • محمد مهدی نعمت الهی

نظرات  (۴)

  • محمد رضائی
  • سلام استاد
    ببخشید تعداد حالات پرانتز گذاری در مثال بالا 4 نیست؟
    (A)(BCD)
    (AB)(CD)
    (ABC)(D)
    (A)(BC)(D)
    پاسخ:
    (a)(b(cd))
    (a(bc))d
    ...

    اصلا (a)(bcd) یه حالت معتبر پرانتزگذاری نیست چرا که مشخص نیست که bcd چگونه ضرب شوند.
    استاد با زبان سی میشه بنویسیم؟؟جاوا بلد نیستیم ما
    پاسخ:
    مشکلی نیست
    ولی اگر برنامه کامپایل نشد، نمره ای تعلق نمی گیرد
    استاد فردا تا 12 شب وقت داریم دیگه؟
    یا باید صبح بهتون تحویل بدیم؟
    استاد لطفا زمان تمرین رو تمدید کنید. حتی اگه شده برای یک روز.
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی