مسألة برمجية من النوع الصعب !

هذا ان شاء الله آخر منشور لي هنا لذلك قررت ان اترك سمعة رياضياتية ♥ عني هنا ☺


سأعطيك عدد اسطر مصفوفة n ثم اعطيك عدد اعمدتها m

ثم ادخل لك n*m (على عدد عناصر المصفوفة) محرف مكونة من واحد (1) او صفر (0)

في البداية تكون عند اول خانة في الاعلى اقصى اليسار واريدك ان تخرج من هذه المصوفة من الدنى اقصى اليمين

لكن هذه المصفوفة تعتبر مقبرة للزومبي ورقم واحد يمثل زومبي حي، اما رقم صفر فيمثل زومبي ميت.

يمكنك التحرك في كافة الاتجاهات .. كل مرة تدعس على زومبي حي تحوله الى ميت، وكل مرة تدعس على زومبي ميت تحوله الى زومبي حي.

السؤال ان اعطيتك المصفوفة هذه اطبع YES اذا كنت تستطيع اجتياز المقبرة دون ان تترك زومبي واحد حي او اطبع NO اذا لم يكن بامكانك


تصبحون على رياضيات ..

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

  • من يضع الأسئلة عليه أن يضع في حسبانه جميع الإحتمالات التي من المُمكن أن تخطر على بال من يقرأ السؤال فيجب أن تُكتب الأسئلة بصورة واضحة ولا تدع بها مجال لحياد الفهم لمعنى أو مطلب أخر بحيث تحدها بشكل لا يقبل تغيير مجرى فهم السؤال.

فالمُعطيات غير واضحة @Rashadoo

يوسف سيد أضف ردا

لا أظنُ أني فهمتُ ما تقصد، فهمتُ أنك تقصد مصفوفة بولونية(منطقية)[m*n] وعند المرور عليها يجعل القيمة العكس إما 0 أو 1، وتريد عملية للتأكد من أن قيمها كلها 1؟ إذا كان كذلك فلا أرى الأمر متعلق بالرياضة، وحتى إن تريد أمر بدون المرور على كل عناصر المصفوفة وعمل شرط عليه، سيكون برمجيًا بحتًا؛ متعلقٌ بذاكرة المصفوفة ككل، أم ما تقصد؟

Mostafa_36a2 أضف ردا

مسألة جميلة رشاد، فهمتها ولكن عندي سؤالان، هل المربع الأول (الذي نبدأ من عنده) تتغير حالته عند الانتقال لغيره؟ أم أنه لا يتغير ؟ مثلًا لو كان أول مربع في الأعلى أقصى اليسار قيمته 1، فهل تحركنا بأي اتجاه سيجعل قيمته 0 أم انه لا يحتسب؟

السؤال الثاني: هل يمكننا الخروج خارج الخريطة والعودة إليها ؟

إن أجبت عن أسئلتي يمكنني حل المسألة إن شاء الله :)

حسنًا سأعتبر أن إجابة السؤال الأول هي: (حالة المربع الأول لا تتغير 1 أو 0 وهي لا تتغير عند الانتقال لمربع آخر، ولكنها تتغير عند الانتقال من مربع ما إليها)، وإجابة السؤال الثاني: لا

وعلى هذا الأساس، قمت بحل المسألة بالنسبة لسطر واحد (تختصر المسألة رياضيًا إلى العملية المنطقية XNOR بين المربع الحالي والتالي ويمكن إثبات ذلك (ولكن لن أقوم بذلك :) ) وهذا حلي بالنسبة لسطر واحد

KernelCode أضف ردا
X 0 0 1 0 1
1 0 1 0 1 0
0 1 1 1 0 1
1 0 1 0 1 0
0 1 0 1 1 1

انت الان x=0

سؤال هل تقصد بهذه الجمله "يمكنك التحرك في كافة الاتجاهات" التحرك بشكل خطوه خطوه او عشوائي يعني يمكنني ان اتحرك الى الخانه 2 او 10 بنفس التسلسل !! ..

" اذا كنت تستطيع اجتياز المقبرة دون ان تترك زومبي واحد حي" اجتياز المقبره اعتقد خطوة خطوه اذاً المساله من الممكن حلها لكن في الغالب ستكون الاجابه NO لو حسبنا عدد الخطوات حيث اذا وجدت مقبره كلها اصفار ويوجد فقط زومبي واحد هو كيف استطيع عبور المقبره باسهل الطرق بحيث لاترك عند الرجوع زومبي حي .. لاكن منطقياً ستكون الاجابه 99% no لماذا لانه اذا كانت المصفوفه كلها اصفار

 1 0 0 0 0 0 0 0
 0 1 0 0 0 0 0 0
 0 0 X 0 0 0 0 0
 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0

x=0 عند العبور سيخلف مكان 1 :( و سيكون هناك زومبي ميت واخر حي في الخلف وهكذا الى مالانهايه! .

الحل الصحيح اذا كان خطوة خطوة لتكون الاجابه YES يجب ان تكون كل الطرق المؤديه الى اقصى اليمين بها زومبي متتابع حي مثال :

1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 1 1 1 0
0 0 0 0 0 0 1 1

اذا كان اجتياز المقبره ولاكن بشرط ان لاتترك زومبي واحد حي بشكل عشوائي هذا اسهل بكثير بحيث ساحفظ اماكن الواحدات في stack وادعسها بشكل عشوائي واخرج في n+1 خطوة حيث n عدد الزومبي الحي و +1 خطوة الخروج !

إجابتك غير صحيحة :)

لنفترض أنك بدأت كما يلي:

x 0 0

يمكنك أن تمشي كما يلي

x 1 0    خطوة لليمين
x 1 1     خطوة لليمين
x 0 1     خطوة لليسار
x 0 0     خطوة لليمين
وصلنا للنهاية

الفكرة هي أنه بإمكانك المشي على نفس المربع عددًا زوجيا من المرات لإعادته لحالته الأصلية

KernelCode أضف ردا
x 0 0 البدايه حيث x = 0
1 x 0 خطوة لليمين
1 1 x خطوة لليسار
1 x 1 خطوة لليمين
1 0 x خطوة لليمين 

No يوجد زومبي لعين حي xD !!

اجابتك ستكون صحيحه فقط اذا كان اول خانه هي زومبي حي

لذالك انا قلت 99% ولم اقل 100% وكنت اتحدث عن المصفوفات الثنائية

اعتقد المساله تحتاج تحسين اتمنى تحذف هذه الجمله واستبدلها ب "ان تعبر فوق الاصفار فقط مثلاً " :

"دون ان تترك زومبي واحد حي"

بالنسبه ل:

الفكرة هي أنه بإمكانك المشي على نفس المربع عددًا زوجيا من المرات لإعادته لحالته الأصلية

صحيح في حاله كانت الخطوات عشوائية لاكن اذا كانت فقط خطوة خطوة اي لن تستطيع ان تفقز الى اي مكان في المقبرة لن تستطيع الفوز !