百俊解答-マルチバスI 18868回
6908 ワード
📜 問題を理解する
M個の宇宙があり、各宇宙にはN個の番号が1からNの惑星がある.惑星の大きさを知っているとき、平均宇宙ペアがどれだけ正しいかを求めたいと思っています.構成は同じだが、順序の違う宇宙対は一度しか数えられない.
2つの宇宙AとBがあり、宇宙Aの惑星の大きさはA 1、A 2、・・・AN,宇宙Bにおける惑星の大きさはB 1,B 2,...,BNって呼んで2つの宇宙の惑星の大きさがすべての1≦i,j≦Nに対して以下の条件を満たすと、2つの宇宙に等しい.
Ai < Aj → Bi < Bj
Ai = Aj → Bi = Bj
Ai > Aj → Bi > Bj
💡 問題の再定義
宇宙のすべての惑星の大きさの関係が同じであれば、同じ宇宙と同じ宇宙の個数を出力します.
▼▼▼計画作成
まず、それぞれの宇宙の大きさ関係を比較してから、他の宇宙との大きさ関係が同じかどうかを計算します.まず、比較サイズ関係の2 Dマトリクスを作成し、行と列にサイズ関係比較結果を作成します.たとえば、planet 1がplanet 2より小さい場合、i行j列に1を作成し、似ている場合は3を作成し、宇宙ごとにサイズ関係表現マトリクスを作成します.そして、宇宙ごとに同じ行列があるかどうかを比較し、計算します.
💻 計画の実行
大小の関係を比較するのは簡単だが、宇宙で比較するのは難しい問題だ.この問題はマトリクスで簡単に解けます.
M個の宇宙があり、各宇宙にはN個の番号が1からNの惑星がある.惑星の大きさを知っているとき、平均宇宙ペアがどれだけ正しいかを求めたいと思っています.構成は同じだが、順序の違う宇宙対は一度しか数えられない.
2つの宇宙AとBがあり、宇宙Aの惑星の大きさはA 1、A 2、・・・AN,宇宙Bにおける惑星の大きさはB 1,B 2,...,BNって呼んで2つの宇宙の惑星の大きさがすべての1≦i,j≦Nに対して以下の条件を満たすと、2つの宇宙に等しい.
Ai < Aj → Bi < Bj
Ai = Aj → Bi = Bj
Ai > Aj → Bi > Bj
💡 問題の再定義
宇宙のすべての惑星の大きさの関係が同じであれば、同じ宇宙と同じ宇宙の個数を出力します.
▼▼▼計画作成
まず、それぞれの宇宙の大きさ関係を比較してから、他の宇宙との大きさ関係が同じかどうかを計算します.まず、比較サイズ関係の2 Dマトリクスを作成し、行と列にサイズ関係比較結果を作成します.たとえば、planet 1がplanet 2より小さい場合、i行j列に1を作成し、似ている場合は3を作成し、宇宙ごとにサイズ関係表現マトリクスを作成します.そして、宇宙ごとに同じ行列があるかどうかを比較し、計算します.
💻 計画の実行
import sys
if __name__ == '__main__':
M, N = map(int, sys.stdin.readline().split())
universe_list = []
count = 0
for i in range(M):
planets = list(map(int, sys.stdin.readline().split()))
planet_matrix = [[0] * N for _ in range(N)]
for j in range(len(planets)):
for k in range(j + 1, len(planets)):
if planets[j] < planets[k]:
planet_matrix[j][k] = 1
elif planets[j] == planets[k]:
planet_matrix[j][k] = 2
elif planets[j] > planets[k]:
planet_matrix[j][k] = 3
universe_list.append(planet_matrix)
for universe in universe_list[:-1]:
if universe == universe_list[-1]:
count += 1
print(count)
🤔 振り返る大小の関係を比較するのは簡単だが、宇宙で比較するのは難しい問題だ.この問題はマトリクスで簡単に解けます.
Reference
この問題について(百俊解答-マルチバスI 18868回), 我々は、より多くの情報をここで見つけました https://velog.io/@delicate1290/백준-문제-풀이-멀티버스-18868번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol