BETA

Pythonで競技プロ AtCoder Beginner Contest 097 Aの解法

投稿日:2019-06-27
最終更新:2019-06-27

Colorful Transceivers

問題

数直線上にいるAさんとBさんとCさんがトランシーバーで会話をしようとしています。 Aさんは a [m] 地点、Bさんは b[m] 地点、Cさんは c [m] 地点にいます。 二人の人間は、距離が d [m] 以内のとき直接会話が出来ます。 AさんとCさんが直接的、あるいは間接的に会話ができるか判定してください。 ただしAさんとCさんが間接的に会話ができるとは、AさんとBさんが直接会話でき、かつBさんとCさんが直接会話できることを指します。

書いたコード

a,b,c,d=map(int,input().split())  
if abs(c-a)>d:  
  if abs(a-b)>d or abs(b-c)>d:  
    print("No")  
  else:  
    print("Yes")  
else:  
  print("Yes")  

工夫したところ

a<b<cと定義されていないのでb<c<aなどのようなことも起こりうる。
そこでpythonで絶対値を示すabs()関数を使用した。

##参考リンク
Python abs()の使い方

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

aocoryの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!