BOJ:碁盤を塗り直す[1018]

4898 ワード

1.質問


整数4を1,2,3の和と表す方法は4種類ある.和を表すときは1つ以上の数を使います.構成和の数だけ順序が違うのは同じです.
1+1+1+1
2+1+1 (1+1+2, 1+2+1)
2+2
1+3 (3+1)
整数nが与えられると、nが1、2、3の和で表される方法の数を求めるプログラムが作成される.
ソース:https://www.acmicpc.net/problem/1018

2.アイデア

  • 積算値比較
    #1.大きさnxmで、白と黒に塗られた板紙があります.
    #2.この碁盤を8×8サイズに切りたいです.
    3.チェス盤には白黒の格子模様が必要だ.
    #4.将棋盤を切るには、チェス盤を打つために、適切に色を修正し、格子模様を形成する必要がある.
    #5.変更する色の最小値を探します.
  • 3.コード


    mine
    for i in range(N-7):
        for j in range(M-7):
            first_W = 0
            first_B = 0
            for k in range(i,i+8):
                for l in range(j,j + 8):
                    if (k + l) % 2 == 0:
                        if board[k][l] != 'W':
                            first_W = first_W+1
                        if board[k][l] != 'B':
                            first_B = first_B + 1
                    else:
                        if board[k][l] != 'B':
                            first_W = first_W+1
                        if board[k][l] != 'W':
                            first_B = first_B + 1
            repair.append(first_W)
            repair.append(first_B)```