ปานกลาง 0 ข้อที่แก้แล้ว อัตราผ่าน 0%

Game of Life Step

ดำเนินเกมชีวิตของคอนเวย์ไปข้างหน้าอีกหนึ่งเจเนอเรชัน

แต่ละเซลล์จะมีสถานะเป็นมีชีวิต (1) หรือ ตาย (0) และมีเพื่อนบ้านได้สูงสุด 8 เซลล์ ในเจเนอเรชันถัดไป เซลล์ที่มีชีวิตจะรอดหากมีเพื่อนบ้านที่มีชีวิต 2 หรือ 3 เซลล์ ส่วนเซลล์ที่ตายจะกลับมามีชีวิตหากมีเพื่อนบ้านที่มีชีวิตอยู่ 3 เซลล์พอดี เซลล์ที่อยู่นอกกริดถือว่าตาย ทุกเซลล์จะอัปเดตพร้อมกันทั้งหมด

ให้เขียนฟังก์ชัน next_generation(grid)

อินพุต

grid: กริดสี่เหลี่ยมที่ประกอบด้วย 0 และ 1

เอาต์พุต

คืนค่าเจเนอเรชันถัดไป

เงื่อนไข

0 ≤ แถว, คอลัมน์ ≤ 200

ตัวอย่าง

ตัวอย่างที่ 1
อินพุต:
grid = [
    [0, 1, 0],
    [0, 1, 0],
    [0, 1, 0]
]

ผลลัพธ์ที่คาดหวัง:
expected = [
    [0, 0, 0],
    [1, 1, 1],
    [0, 0, 0]
]
อินพุต:
std::vector<std::vector<long long>> grid = {
    {0, 1, 0},
    {0, 1, 0},
    {0, 1, 0}
};

ผลลัพธ์ที่คาดหวัง:
std::vector<std::vector<long long>> expected = {
    {0, 0, 0},
    {1, 1, 1},
    {0, 0, 0}
};
อินพุต:
long[][] grid = new long[][] {
    new long[] {0, 1, 0},
    new long[] {0, 1, 0},
    new long[] {0, 1, 0}
};

ผลลัพธ์ที่คาดหวัง:
long[][] expected = new long[][] {
    new long[] {0, 0, 0},
    new long[] {1, 1, 1},
    new long[] {0, 0, 0}
};

คำอธิบาย

"blinker" แนวตั้งจะกลายเป็นแนวนอน: เซลล์ตรงกลางรอดชีวิต และเซลล์ซ้ายขวาของมันจะเกิดใหม่ ทำให้แถวกลางเต็ม

ตัวอย่างที่ 2
อินพุต:
grid = [
    [1, 1],
    [1, 1]
]

ผลลัพธ์ที่คาดหวัง:
expected = [
    [1, 1],
    [1, 1]
]
อินพุต:
std::vector<std::vector<long long>> grid = {
    {1, 1},
    {1, 1}
};

ผลลัพธ์ที่คาดหวัง:
std::vector<std::vector<long long>> expected = {
    {1, 1},
    {1, 1}
};
อินพุต:
long[][] grid = new long[][] {
    new long[] {1, 1},
    new long[] {1, 1}
};

ผลลัพธ์ที่คาดหวัง:
long[][] expected = new long[][] {
    new long[] {1, 1},
    new long[] {1, 1}
};

คำอธิบาย

แต่ละเซลล์ของบล็อกขนาด 2×2 มีเพื่อนบ้าน 3 เซลล์พอดี บล็อกจึงคงเดิม

แหล่งอ้างอิง

โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน

เรียนรู้จากคนอื่น

แนวทางจากชุมชน

ยังไม่มีวิธีทำที่เผยแพร่ ลองแก้โจทย์นี้เพื่อแชร์วิธีแรก