[BOJ]白駿2669号の4つの矩形の和集の面積を求めます(Python)
BOJ:Q 2669-四つの長方形とセットの面積を求める[青銅1]
質問する
平面には4つの長方形があり、その底辺は横軸に平行です.この4つの矩形は互いに分離してもよいし、重なり合ってもよいし、1つは別のものを含んでもよいし、変異してもよいし、頂点が重なり合ってもよい.
これらの矩形の面積を求めるプログラムを作成してください.
入力
四角形の位置を表す4行の整数を4つずつ入力します.1番目と2番目の整数は矩形左下頂点のx座標、y座標であり、3番目と4番目の整数は矩形右上頂点のx座標、y座標である.すべてのx座標およびy座標は、1以上100未満の整数である.
しゅつりょく
1行目は4つの長方形が占める面積を出力します.
例
入力
1 2 4 4
2 3 5 7
3 1 6 5
7 3 8 6
しゅつりょく
26
に答える
squares = [list(map(int, input().split())) for _ in range(4)] # 좌하단 x, y, 우상단 x, y
matrix = [[0 for _ in range(100)] for _ in range(100)]
for i in range(4):
x1, y1, x2, y2 = squares[i]
for row in range(y1, y2):
for col in range(x1, x2):
matrix[row][col] = 1
answer = sum([sum(matrix[row]) for row in range(100)])
print(answer)
実装をシンプル化するためのセカンダリ・リストの作成Reference
この問題について([BOJ]白駿2669号の4つの矩形の和集の面積を求めます(Python)), 我々は、より多くの情報をここで見つけました https://velog.io/@deannn/BOJ-백준-2669번-직사각형-네개의-합집합의-면적-구하기-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol