ebisukeプログラミング初心者脱出黙示録

30歳を過ぎてから始めたプログラミングと競プロの記録。Pythonで取り組んでいます。Arduinoで電子工作も

AtCoder-ABC224 A - Tires / B - Mongeness【Python解答例】

AtCoder Beginner Contest224のA とB問題についてPythonの解答例を記事にしていきます。
AtCoder Beginner Contest 224 - AtCoder



AtCoder Beginner Contest224 A - Tires

A - Tires

問題文

末尾が er または ist であるような文字列 S が与えられます。
S の末尾が er である場合は er を、 ist である場合は ist を出力してください。

制約

・2≤∣S∣≤20
・S は英小文字のみからなる。
・S の末尾は er または ist である。

解答例

s = input()

if s[-1] == "r":
    print("er")
else:
    print("ist")

解説

与えられた文字列の末尾にあわせて、er か ist を出力する問題です。

文字列の末尾はer か istしかないので、文字列の最後の文字がrならerを、そうでなければistを出力すればOKでした。




AtCoder Beginner Contest224 B - Mongeness

B - Mongeness

問題文

縦 H 行、横 W 列のマス目があり、各マスには 1 つの整数が書かれています。 上から i 行目、左から j 列目のマスに書かれている整数は A i,j​ です。

マス目が下記の条件を満たすかどうかを判定してください。

1≤i 1​

制約

・2≤H,W≤50
・1≤A i,j​ ≤10 ^9
・入力はすべて整数

解答例

h, w = map(int,input().split())

A = []
for i in range(h):
    array = list(map(int, input().split()))
    A.append(array)

flag = True
for i in range(h-1):
    for ii in range(i,h):
        for j in range(w-1):
            for jj in range(j,w):
                tmp1 = A[i][j] + A[ii][jj]
                tmp2 = A[ii][j] + A[i][jj]
                if tmp1 > tmp2:
                    flag = False

if flag:
    print("Yes")
else:
    print("No")

解説

与えられたマス目で問題文の条件を満たすか答える問題です。

4重ループで全探索して条件を満たすか確認します。

問題文のi1はi、i2をii、 j1をj、j2をjjとしてループを回しました。

左辺をtmp1、右辺をtmp2として、tmp1>tmp2があればflagをFalseとして管理します。

ループを抜けたあとにflagにあわえて答えを出力すればOKでした。



ABC224の関連記事はこちら
ebisuke33.hatenablog.com