問題
https://atcoder.jp/contests/abc162/tasks/abc162_d
現在勉強のため上記の問題を解いているのですが、この問題の
「j−i≠k−jである」
と満たす条件が下記のソースコードで実現できる理由をどなたか教えていただけないでしょうか。
(9行目までは理解できるのですが、10行目以降の記述がよくわからないです。)
該当のソースコード
C++
1#include <bits/stdc++.h> 2using namespace std; 3int main(){ 4 long long int N,R=0,G=0,B=0,NG=0;string S;cin>>N>>S; 5 for(int i=0;i<N;i++){ 6 if(S[i]=='R')R++; 7 if(S[i]=='G')G++; 8 if(S[i]=='B')B++; 9 } 10 for(int i=1;i<=N/2;i++) 11 for(int j=0;j<N-2*i;j++) 12 if(S[j]!=S[j+i]&&S[j+i]!=S[j+2*i]&&S[j+2*i]!=S[j])NG++; 13 cout<<R*G*B-NG<<endl; 14} 15
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。