ARC068A Yet Another Die Game

問題

https://atcoder.jp/contests/arc068/tasks/arc068_a

方針

6の面と5の面は隣接しているため、
6→5→6→5→6…
と繰り返すのが最適であるとわかる。

そこでまず、11で整数除算を行い、2をかけることで、概算を出す。

この概算に加えて、11による剰余で以下のようなルールで補正を加える。

  • 0の場合: これ以上サイコロを振る必要がない
  • 1~6の場合: 6を出す
  • 7~10の場合: 6→5を出す

    コード

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    x = int(input())
    ans = (x // 11) * 2
    x = x % 11
    if (x==0):
    pass
    elif (x <= 6):
    ans += 1
    else:
    ans += 2
    print (ans)