بکندباز

یک ماتریس دوبعدی که نمایانگر یک زمین کشاورزی است، داده شده است.

  • هر محصول (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

نمونه ورودی و خروجی

CropHydrated([["w", "w"], ["w", "c"], ["c", "c"], ["c", "w"], ["c", "w"]]) ➞ True

CropHydrated([["c", "w", "w", "w", "c"], ["w", "c", "c", "c", "c"], ["c", "c", "c", "c", "c"], ["w", "c", "c", "w", "c"]]) ➞ True

CropHydrated([["c", "c", "w", "c", "c", "w", "c", "w"]]) ➞ False

نکات:

  • اگر فقط یک “w” وجود داشته باشد، تابع True برمی‌گرداند.
  • اگر فقط یک “c” وجود داشته باشد، تابع False برمی‌گرداند.
  • محصولات باید حداقل یک منبع آب در مجاورت خود داشته باشند تا آبیاری شوند.
EXPECT_EQ(CropHydrated({{'w', 'w'}, {'w', 'c'}, {'c', 'c'}, {'c', 'w'}, {'c', 'w'}}), true);
EXPECT_EQ(CropHydrated({{'c', 'w', 'w', 'w', 'c'}, {'w', 'c', 'c', 'c', 'c'}, {'c', 'c', 'c', 'c', 'c'}, {'w', 'c', 'c', 'w', 'c'}}), true);
EXPECT_EQ(CropHydrated({{'c', 'c', 'w', 'c', 'c', 'w', 'c', 'w'}}), false);
EXPECT_EQ(CropHydrated({{'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);
EXPECT_EQ(CropHydrated({{'c', 'c', 'w', 'w', 'c', 'c', 'c'}, {'c', 'w', 'c', 'w', 'w', 'c', 'w'}, {'w', 'w', 'c', 'w', 'c', 'c', 'c'}}), true);
EXPECT_EQ(CropHydrated({{'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);
EXPECT_EQ(CropHydrated({{'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);
EXPECT_EQ(CropHydrated({{'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);

پاسخ های کاربران به این تمرین

Amin
امتیاز:‌ 23333
0 0
‎C++‎
5 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

تمرینات مرتبط