LoginSignup
0
1

More than 3 years have passed since last update.

ABC170

Posted at

AtCorder Beginner Contest 170 に参加しました。
ABCの3問ACでした。
Python3を使用しています。

A問題

入力をリストに入れ、0が何番目か(インデックス)を求めます。

import sys
def input():
    return sys.stdin.readline()[:-1]


def main():
    A = list(map(int,input().split()))
    print(A.index(0) + 1)


if __name__ == "__main__":
    main()

B問題

つるかめ算です。
全ての動物が鶴だと仮定し、残った足の本数を鶴と亀の足の数の差(4 - 2 = 2)で割ります。
ただしつるかめ算はすべての場合で成立しないので例外を考えます。
1 足の数が多すぎる/少なすぎる
2 組み合わせとして成り立たない足の数(奇数など)

import sys
def input():
    return sys.stdin.readline()[:-1]


def main():
    X, Y = map(int,input().split())
    a = Y - 2 * X
    if a >= 0 and a % 2 == 0 and a / 2 <= X:
        print('Yes')
    else:
        print('No')


if __name__ == "__main__":
    main()

C問題

入力値pと整数Xの差を求め、新しいリストp_newを作ります。
0 → ±1 → ±2 とリストの中をwhile文で繰り返しながら探し、見つからなくなったときが求める答えです。
ただし、複数存在する場合は小さい方を答えることから、絶対値numを引いた値を答えます。

import sys
def input():
    return sys.stdin.readline()[:-1]


def main():
    X, N = map(int,input().split())
    p = list(map(int,input().split()))
    p_new = [i - X for i in p]
    num = 0
    while num in p_new and -num in p_new:
        num += 1
    if X - num in p:
        print(X + num)
    else:
        print(X - num)


if __name__ == "__main__":
    main()
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1