본문으로 바로가기

C030:白にするか黒にするか

category TIL/Algorithm 2024. 4. 5. 00:16

あなたは拾った古いパソコンで画像を表示するため、
グレースケールの画像を白黒の二値画像に変換する事にしました。

グレースケールの画像では 255 (白) から 0 (黒) の 256 階調で画像を表現します。
0 に近いほど黒色に, 255 に近いほど白色に近い色になります。
二値画像では単純に 1 (白) から 0 (黒) の 2 階調で表現します。
このため、グレーな画素値を白か黒にする必要があります。 (画素とは画像の最小単位の点を表します)

今回は単に表示するだけなので、単純に以下の条件を用いて二値画像に変換します。

・画素値が 128 以上 : 1 (白)
・画素値が 127 以下 : 0 (黒)

この変換を図で示すと以下のようになります。



入力で画像のサイズとそれぞれの画素値が渡されるので、
与えられた条件で二値化した結果を出力して下さい。

評価ポイント10回のテストケースで、正答率、実行速度、メモリ消費量をはかり得点が決まります。
より早い回答時間で提出したほうが得点が高くなります。
  1. 複数のテストケースで正しい出力がされるか評価(+50点)
  2. 解答までの速さ評価(+50点)
入力される値入力は以下のフォーマットで与えられます。

H WP_{1, 1} P_{1, 2} ... P_{1, W}P_{2, 1} P_{2, 2} ... P_{2, W}...P_{H, 1} P_{H, 2} ... P_{H, W}

・1行目に画像の縦横のサイズ H, W が空白区切りで与えられます。
・続く H 行のうち、 i 行目 (1 ≦ i ≦ H) には W 個の整数値が半角スペース区切りで与えられます。
  i 行目の j 番目 (1 ≦ i ≦ W) の整数値 P_{i, j} は画像の i 行 j 列目 の画素値を表します。
・入力は合計で H + 1 行であり、入力値最終行の末尾に改行が1つ入ります。


それぞれの値は文字列で標準入力から渡されます。標準入力からの値取得方法はこちらをご確認ください
期待する出力与えられたグレースケース画像を二値化した結果を以下の形式で出力してください。
B_{1, 1} B_{1, 2} ... B_{1, W}B_{2, 1} B_{2, 2} ... B_{2, W}...B_{H, 1} B_{H, 2} ... B_{H, W}
・期待する出力はH行からなります。
・i 行目(1 ≦ i ≦ H) に W 個の整数値 B_{i, 1} , B_{i, 2} , ... , B_{i, W} を半角スペース区切りで出力してください。
  i 行目の j 番目 (1 ≦ i ≦ W) の整数値 B_{i, j} は、入力された画像の i 行 j 列目の画素値を二値化した結果を表します。

・H 行目の出力の最後に改行を入れ、余計な文字、空行を含んではいけません。
条件すべてのテストケースで以下の条件を満たします。

各添字の範囲は 1 ≦ i ≦ H, 1 ≦ j ≦ W とする。

・入力値は全て整数
・1 ≦ H ≦ 400
・1 ≦ W ≦ 400
・0 ≦ P_{i, j} ≦ 255
入力例1
3 2
128 127
127 128
128 127
出力例1
1 0
0 1
1 0
入力例2
1 1
0
出力例2
0

0

用いて(もちいる)

表示するだけなので

画素(がぞ)화소

単純

白色(ひゃくしょく)

黒色(こくしょく)

階調(かいちょう)

変換(へんかん)

表示(ひょうじ)

画像(がぞう)화상

古い(ふるい)

# 3 2
# 128 127
# 127 128
# 128 127. 128이상 1
I,J=map(int,input().split())
# print(I,J)
total_list=[list(map(int, input().split())) for i in range(I)]
# print(total_list)
for i in range(I):
    result=''
    for s in range(J):
        if total_list[i][s]>=128:
            result+="1 "
        else:
            result+="0 "
    print(result.strip())

'TIL > Algorithm' 카테고리의 다른 글

C135:商品の割引  (0) 2024.04.07
C122:【2022年Xmas問題】プレゼントのセール  (0) 2024.04.07
0 합성수 찾기  (0) 2022.12.23
0 문자열 정렬하기 | lower | sorted | join  (0) 2022.12.23
0 369게임  (0) 2022.12.22