おじい研究所

主にプログラミングの話題です

256【解説】

本稿はCodeIQで2016年7月12日~2018年4月25日に出題された 【実力判定:Cランク】256 という問題の解答例と簡単な解説です。

  • 本稿におけるコードは単なる解答の1例に過ぎません。「もっと良い解法があるよ!」とか、「こう書いた方がわかりやすいよ!」とか、「他の言語で書いてみたよ!」という場合は、自由にコメントに書いていただいても、個人のブログ等で公開していただいても結構です。

問題本文はこちら

256【解説】

入力サイズが小さいので、素直に二重ループでよいでしょう。数値のリストから同じ要素を2回選ばないように注意してください。

# python3
# O(n^2)

n = int(input())
v = [int(s) for s in input().split()]

for i in range(n-1):
    for j in range(i+1, n):
        if v[i] + v[j] == 256:
            print("yes")
            exit() # 見つかったらおしまい

# 見つからなければココに到達する
print("no")

こっちは古い版