AtCoder Beginner Contest 104・016・108・112 A・B問題

前書き

1週間ほどブログを書くのをお休みしていました。
色々と気持ちが切れてしまった為です。今後はAtCoder過去問と技術ブログを継続していこうと思います。

A問題(ABC108)

  • 難易度:灰
  • 時間:2分

atcoder.jp

K=int(input())
print((K//2+K%2)*(K//2))

B問題(ABC108)

  • 難易度:灰
  • 時間:15分

atcoder.jp

例に一つの長方形を描いてみて、端の4点の関係性を数式に落とし込みました。

x1,y1,x2,y2=map(int,input().split())
x3,y3=x2-(y2-y1),y2+(x2-x1)
x4,y4=x3-(x2-x1),y3-(y2-y1)
print(x3,y3,x4,y4)

A問題(ABC106)

  • 難易度:灰
  • 時間:2分

atcoder.jp

A,B=map(int,input().split())
print(A*B-(A+B-1))

B問題(ABC106)

  • 難易度:灰
  • 時間:15分

atcoder.jp

N=int(input())
_all=0
for i in range(10,N+1):
  count=0
  for j in range(1,i+1):
    if i%j==0 and i%2!=0:count+=1
  if count==8: _all+=1
print(_all)

A問題(ABC112)

  • 難易度:灰
  • 時間:1分

atcoder.jp

N=int(input())
if N==1: print('Hello World')
elif N==2:
  A=int(input())
  B=int(input())
  print(A+B)

B問題(ABC112)

  • 難易度:灰
  • 時間:7分

atcoder.jp

N,T=map(int,input().split())
_min,j=1001,0
for i in range(N):
  c,t=map(int,input().split())
  if t<=T:
    if c<=_min:
      _min=c
if _min<1001: print(_min)
else: print('TLE')

A問題(ABC104)

  • 難易度:灰
  • 時間:1分

atcoder.jp

R=int(input())
if R<1200: print('ABC')
elif R<2800: print('ARC')
else: print('AGC')

B問題(ABC104)f:id:electric-city:20200319193051j:plain

  • 難易度:灰
  • 時間:7分

atcoder.jp

あまり賢い解き方ではありません。条件を一つずつ潰していくアルゴリズムです。
TLEの心配は全くありませんので、実直に書きました。

import sys
S=input()

def stop():
  print('WA')
  sys.exit()
  
if S[0]!='A': stop()

count,_str=0,S[2:-1]
for i in _str:
  if i=='C':
    count+=1
    if count>1: stop()   
for i in S: 
  if not (i=='A' or i=='C'):
    if i.isupper(): stop()
      
if count==0: print('WA')
else: print('AC')