公式

A - Alternately 解説 by kyopro_friends


初心者の方へ
  • プログラミングの学習を始めたばかりで何から手をつけるべきかわからない方は、まずは practice contest の問題A「Welcome to AtCoder」をお試しください。言語ごとに解答例が掲載されています。
  • また、プログラミングコンテストの問題に慣れていない方は、 AtCoder Beginners Selection の問題をいくつか試すことをおすすめします。
  • 競プロ典型 90 問 では、プログラミングコンテストで扱われる典型的な 90 問の問題に挑戦可能です。
  • C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラマー向けのC++入門用コンテンツです。

問題文にかかれている通り、\(S\) の中で同じ文字が連続する箇所があるとき答えは No、そのような箇所がないとき答えは Yes になります。\(S\) の中で同じ文字が連続する箇所を見つけたとき、その場で No を出力してプログラムを終了させるような実装がわかりやすいでしょう。添字が適切な範囲を動いているか注意しましょう。

実装例(C++)

#include<bits/stdc++.h>
using namespace std;

int main(){
	int n;
	cin >> n;
	string s;
	cin >> s;
	for(int i=0;i<n-1;i++){
		if(s[i]==s[i+1]){
			cout << "No" << endl;
			return 0;
		}
	}
	cout << "Yes" << endl;
}

実装例(Python)

N=int(input())
S=input()
for i in range(N-1):
  if S[i]==S[i+1]:
    print("No")
    exit()
print("Yes")

投稿日時:
最終更新: