یک ماتریس دوبعدی که نمایانگر یک زمین کشاورزی است، داده شده است.
- هر محصول (crop) برای رشد نیاز به منبع آب دارد.
- هر منبع آب (
"w"
) 8 خانهی اطراف خود را آبیاری میکند. - هر محصول (
"c"
) باید حداقل یک منبع آب در همسایگی خود داشته باشد.
تابعی بنویسید که بررسی کند آیا تمام محصولات آبیاری شدهاند یا نه.
اگر همهی محصولات آبیاری شده باشند، True
برگردانید، در غیر این صورت False
.
مثال
crop_hydrated([
[ "c", "c", "c", "c" ],
[ "w", "c", "c", "c" ],
[ "c", "c", "c", "c" ],
[ "c", "w", "c", "c" ]
]) ➞ False
نمونه ورودی و خروجی
crop_hydrated([["w", "w"], ["w", "c"], ["c", "c"], ["c", "w"], ["c", "w"]]) ➞ True
crop_hydrated([["c", "w", "w", "w", "c"], ["w", "c", "c", "c", "c"], ["c", "c", "c", "c", "c"], ["w", "c", "c", "w", "c"]]) ➞ True
crop_hydrated([["c", "c", "w", "c", "c", "w", "c", "w"]]) ➞ False
نکات:
- اگر فقط یک “w” وجود داشته باشد، تابع
True
برمیگرداند. - اگر فقط یک “c” وجود داشته باشد، تابع
False
برمیگرداند. - محصولات باید حداقل یک منبع آب در مجاورت خود داشته باشند تا آبیاری شوند.
self.assertEqual(crop_hydrated([["w", "w"], ["w", "c"], ["c", "c"], ["c", "w"], ["c", "w"]]), True) self.assertEqual(crop_hydrated([["c", "w", "w", "w", "c"], ["w", "c", "c", "c", "c"], ["c", "c", "c", "c", "c"], ["w", "c", "c", "w", "c"]]), True) self.assertEqual(crop_hydrated([["c", "c", "w", "c", "c", "w", "c", "w"]]), False) self.assertEqual(crop_hydrated([["c", "c", "c", "c", "c", "w", "c"], ["c", "w", "c", "c", "w", "c", "w"], ["c", "c", "c", "w", "c", "w", "c"], ["w", "w", "c", "c", "c", "c", "c"], ["c", "c", "w", "c", "c", "c", "c"], ["c", "c", "c", "c", "w", "c", "c"], ["w", "c", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "c", "c"], ["w", "c", "c", "c", "c", "c", "w"]]), False) self.assertEqual(crop_hydrated([["c", "c", "w", "w", "c", "c", "c"], ["c", "w", "c", "w", "w", "c", "w"], ["w", "w", "c", "w", "c", "c", "c"]]), True) self.assertEqual(crop_hydrated([["c", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "c"], ["w", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "w"], ["c", "c", "c", "c", "w", "c"], ["c", "w", "w", "c", "c", "c"]]), False) self.assertEqual(crop_hydrated([["c", "w", "c", "c", "w", "w"], ["c", "c", "w", "c", "c", "c"], ["w", "c", "c", "c", "c", "w"], ["c", "w", "c", "c", "c", "c"], ["c", "c", "c", "c", "w", "w"]]), True) self.assertEqual(crop_hydrated([["c", "w", "c", "c"], ["w", "c", "c", "c"], ["c", "c", "c", "c"], ["w", "c", "c", "c"], ["w", "w", "c", "c"], ["c", "w", "c", "c"], ["c", "c", "w", "c"], ["c", "c", "w", "w"], ["c", "c", "c", "w"]]), False)
پاسخ های کاربران به این تمرین
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
نظرات