def count_missing_mines(board): """ Menghitung jumlah kotak ranjau yang diperlukan agar Minesweeper satu dimensi menjadi lengkap. Args: board (list): List angka, di mana setiap angka menunjukkan jumlah ranjau di sekitar posisi tersebut. Gunakan -1 untuk menunjukkan posisi ranjau yang diketahui. Returns: int: Jumlah kotak ranjau yang diperlukan. """ missing_mines = 0 n = len(board) for i in range(n): # Jika posisi saat ini bukan ranjau (-1), hitung kekurangan ranjaunya if board[i] != -1: # Hitung jumlah ranjau yang sudah ada di sekitar posisi ini current_mines = 0 if i > 0 and board[i - 1] == -1: current_mines += 1 if i < n - 1 and board[i + 1] == -1: current_mines += 1 # Tambahkan kekurangan ranjau missing_mines += max(0, board[i] - current_mines) return missing_mines def main(): print("Selamat datang di program hitung ranjau Minesweeper satu dimensi!") # Input papan Minesweeper print("Masukkan papan Minesweeper dalam format berikut:") print("Gunakan -1 untuk kotak ranjau yang sudah diketahui, dan angka (0-2) untuk kotak lainnya.") print("Contoh input: -1 2 0 1 -1") board_input = input("Masukkan papan Minesweeper (pisahkan dengan spasi): ") board = list(map(int, board_input.split())) # Hitung jumlah ranjau yang diperlukan missing_mines = count_missing_mines(board) print(f"Jumlah kotak ranjau yang diperlukan: {missing_mines}") if __name__ == "__main__": main()