AtCoder参加記録 No.1ーABC195


ABC195

自分のモチベーションと記憶用にAtCoder参加記録を付けることにしました

初参加は2021年3月13日(土)のパナソニックプログラミングコンテスト(AtCoder Beginner Contest 195)でした。

結果

A,C問題を正解
レート:0→16
順位:5007/7679
時間: A問題55:58 C問題97:08
パフォーマンス:330

詳細

A問題

問題

提出コード(AC)

A問題.py
m ,h =map(int,input().split())
if h%m==0:
  print('Yes')
else:
  print('No')

提出コード詳細

B問題

問題
考えたが解法が思いつかなかったため未提出

C問題

問題

提出1回目(WA)

C問題_1.py
n=int(input())
n_a=str(n)
l=len(n_a)
a=n-999999999999
b=n-999999999
c=n-999999
d=n-999
if l>3:
  if l>6:
    if l>9:
      if l>12:
        print(a+b+c+d)
      else:
        print(b+c+d)
    else:
      print(c+d)
  else:
    print(d)
else:
  print(0)

詳細

2回目(WA)

C問題_2.py
n=int(input())
n_a=str(n)
l=len(n_a)
a=n-999999999999
b=n-999999999
c=n-999999
d=n-999
if l>3 and d>0:
  if l>6 and c>0:
    if l>9 and b>0:
      if l>12 and a>0:
        print(a+b+c+d)
      else:
        print(b+c+d)
    else:
      print(c+d)
  else:
    print(d)
else:
  print(0)

詳細

3回目(AC)

C問題_3.py
n=int(input())
n_a=str(n)
l=len(n_a)
z=n-999999999999999
a=n-999999999999
b=n-999999999
c=n-999999
d=n-999
if l>3 and d>0:
  if l>6 and c>0:
    if l>9 and b>0:
      if l>12 and a>0:
        if l>15 and z>0:
          print(a+b+c+d+z)
        else:
          print(a+b+c+d)
      else:
        print(b+c+d)
    else:
      print(c+d)
  else:
    print(d)
else:
  print(0)

詳細

振り返り

バイト後の参加のためスタートが遅れてしまい、だいぶ遅い時間からの参加になってしまった。

A問題は普通に解くことができ、B問題が分からなかったため。C問題に挑戦し運よく正解することができた。

A問題については特になし

B問題はちょうどにならないことを考える処理が分からなかった。

C問題についてはN≦10^15を勘違いしていたことがWAの原因であった。
2回目の提出はまったく意味のない修正であった。

C問題.py
n=int(input())
n_a=str(n)
l=len(n_a)
z=n-999999999999999
a=n-999999999999
b=n-999999999
c=n-999999
d=n-999
if l>3:
  if l>6:
    if l>9:
      if l>12:
        if l>15:
          print(a+b+c+d+z)
        else:
          print(a+b+c+d)
      else:
        print(b+c+d)
    else:
      print(c+d)
  else:
    print(d)
else:
  print(0)

三回目の提出でも正解だが桁数が条件を満たす時a,b,c,d,zが0より大きいことは自明であるため、考えが甘かった。

感想

自分のコードを見てみると変数のつけ方などが未熟であったり、自明なことを書いていたりとミスが目立つため、参加記録を付けることで復習になることが分かった。