白駿解題1343ポリオミノ
9016 ワード
boj 1343:ポリオミノ
質問アドレス:https://www.acmicpc.net/problem/1343
難易度:silver 5
1.問題の説明民植は無限以下のポリ五味子を持っている.AAAAとBB 現在」.「X」と組んだ板が民植に与えられ、「X」をすべて覆い、重ならないようにしようとした. このとき,"."五味子で覆うわけにはいかない. ポリオミノですべて覆われた板紙を出力するプログラムを作成します. 最初の行は、最初の答えを辞書順に出力します.カバーがつかない場合は、-1を出力します. 実際には、より便利な出力例である.
2つの解釈があります.第1の方法は、貪欲放出法 を内蔵関数に置き換えることである.第2の代替を使用しない実装+貪欲な放出方法 3.問題の処理方法を使用して組み込み関数を置換
replace内蔵関数は、文字列の左側から、特定の文字列を必要な文字列で置き換えます.
欲張るならまずXXXXをAAAA残りのXXに変えてBBに変えればいい
Xが1つ以上の文字列に含まれている場合は、-1を出力します. 実施+greedy
論理の展開は大体以下の通りである.詳細はコードで理解できます. 文字列を入力します. 文字列が空になるまで、次の操作を繰り返します. 文字列の最初の文字をtempに格納します. temp = . 繰り返し回数が0の場合はtemp に戻る.でなければ、上記の手順を繰り返し、tempに続きます.現れるまで繰り返す. 得られた件に対してAAAA,BB変換動作を行った. 4.特別注意事項内蔵関数の重要性 についての第一感覚はgreedyの実現感覚を加えた である. .撮った部分がちょっと難しかったので途中でコードを書き直しました 最初はsplitを利用していましたが、そうすると.連続撮影...など. 5.コード実装を使用して、コード を置き換えます.実施+greedy
質問アドレス:https://www.acmicpc.net/problem/1343
難易度:silver 5
1.問題の説明
XXXXXX -> AAAABB
XX.XX -> BB.BB
XXXX....XXX.....XX -> -1
X -> -1
XX.XXXXXXXXXX..XXXXXXXX...XXXXXX -> BB.AAAAAAAABB..AAAAAAAA...AAAABB
2.問題を解決する考え.2つの解釈があります.
replace内蔵関数は、文字列の左側から、特定の文字列を必要な文字列で置き換えます.
欲張るならまずXXXXをAAAA残りのXXに変えてBBに変えればいい
Xが1つ以上の文字列に含まれている場合は、-1を出力します.
board = board.replace("XXXX", "AAAA")
board = board.replace("XX", "BB")
論理の展開は大体以下の通りである.詳細はコードで理解できます.
board = input()
board = board.replace("XXXX", "AAAA")
board = board.replace("XX", "BB")
if board.count('X') >= 1:
board = -1
print(board)
board = input()
ans = ''
counter = 0
def recur_get_first(x):
global counter
temp = x[0]
if x[0] == '.' and counter == 0:
return temp
if x[0] == '.' and counter != 0:
return ''
if len(x) == 1:
return temp
else:
counter += 1
return temp + recur_get_first(x[1:])
while board:
piece = ''
counter = 0
piece = recur_get_first(board)
board = board[len(piece):]
if piece == '.':
ans += piece
else:
if len(piece) % 2 == 1:
print(-1)
exit(0)
else:
_rest = len(piece) % 4
_quotient = _rest // 2
ans += ('AAAA' * (len(piece) // 4) + 'BB' * _quotient)
print(ans)
Reference
この問題について(白駿解題1343ポリオミノ), 我々は、より多くの情報をここで見つけました https://velog.io/@qlql323/boj-1343-폴리오미노テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol