Hướng dẫn giải của Quảng cáo Game


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Tác giả: PanyoPie

  • Gợi ý hướng làm:
    • Bài này có rất nhiều cách làm như Prefix Sum, Dynamic Programming, etc... nhưng đa phần trong số này đều phải dùng trên dưới ~3~ vòng lặp với độ phức tạp thời gian là ~O(n^2)~ hay ~O(n\log{n})~.
    • Chúng ta cũng có thể áp dụng Quy tắc cộngQuy tắc nhân trong kiến thức Toán Đại số lớp ~11~ với chỉ ~1~ vòng lặp với độ phức tạp thời gian là ~O(n)~.

AC'd code by cheeseytunaa:

import sys

data = sys.stdin.read().strip("\r\n").split("\n")

def solve():
  n = int(data[0])
  a = [list(line) for line in data[1:]]
  b = 0

  for j in range(n):
    if a[0][j] == a[1][j] == "*":
      print("GAME OVER")
      return
    elif a[0][j] == a[1][j] != "*":
        b += 1

  print(2**b)

solve()

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.