読者です 読者をやめる 読者になる 読者になる

水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

No.112 ややこしい鶴亀算

回答

#44646 No.112 ややこしい鶴亀算 - yukicoder

なんか問題を読み取れた瞬間にぱあっと溶けました….
よくかんがえると,つる,かめのどちらかならば,つるのやつはみんな同じ足の数になるため,(かめも同様)
配列内の片方の要素を数えればOKなのです...
これに気がつくまでに非常に時間がかかりました.

ただし,すべての足が一緒であるならば,どっちか片方しかいません….

N = int(input())
ali = list(map(int, input().split()))
mx = max(ali)
mi = min(ali)
if(mx != mi):
    print(ali.count(mx), ali.count(mi))
else:
    if mx // 4 == N - 1:
        print(0, N)
    else:
        print(N, 0)

これでyukicoder★1の過去問分が終わった.結構レベルの差が激しかったように感じる.
★1といえど,考察が若干難しいなと感じるものも多く,良いトレーニングになったような気がする.