0
0

More than 3 years have passed since last update.

AtCoder Beginner Contest 166 A問題「A?C」解説(Python3,C++,Java)

Posted at

Ruteです。
AtCoder Beginner Contest 166 A問題「A?C」の解説を行います。

問題URL:
https://atcoder.jp/contests/abc166/tasks/abc166_a

問題概要

コンテストの開催ルールは以下のようである。(この問題における)
・ABCが開催された次の週にはARCが開催される
・ARCが開催された次の週にはABCが開催される

先週開催されたコンテストを表す文字列$S$が与えられる。
今週開催されるコンテストを表す文字列を出力せよ。

制約

・$S$は'ABC'または'ARC'である

解説

・ABCが開催された次の週にはARCが開催される
・ARCが開催された次の週にはABCが開催される

というルールから、
・$S$が'ABC'なら今週開催されるのはARC
・$S$が'ARC'なら今週開催されるのはABC

ということが分かります。
よって、文字列$S$を読み取って上の条件分岐通りの出力をすれば良いです。
$S$の2文字目を読みとってその条件分岐を行うという方法でもACすることは可能ですが、実装が楽なのは前述した方法です。

以下、Python3,C++,Javaでの解答例を示します。

各言語解答例

Python3での解答例
ABC166.py
S = input()
if S == "ABC":
  print("ARC")
else:
  print("ABC")

C++での解答例
ABC166A.cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
  string S;
  cin >> S;
  if (S == "ABC"){
    cout << "ARC" << endl;
  }else{
    cout << "ABC" << endl;
  }
}

Javaでの解答例
ABC166A.java
import java.util.Scanner;
public class Main{
  public static void main(String[] args)
  {
    Scanner scan =new Scanner (System.in);
    String S =  scan.nextLine();
    if (S.equals("ABC")){
      System.out.println("ARC");
    }else{
      System.out.println("ABC");
    }
  }
}

※ Javaでは文字列比較の時に==ではなく"文字列A".equals("文字列B")とコーディングしましょう。==という条件式の場合コンパイルエラーが発生する場合があります。後者の方だと文字列Aが文字列Bと同じかを正しく判定することが出来ます。

0
0
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
0