問題はこちら
No.175 simpleDNA - yukicoder
問題をよく読めば
「'A'または'B'からなる長さLの文字列であって、末尾3文字が指定したパターンのいずれかであるようなものの個数を求めよ」という問題であることが分かる
末尾3文字以外A,Bが任意に選べるので2^(L-3)通り、末尾3文字は指定されたN通りなので求める答えは2^(L-3)*Nとなる。
bitshiftにより2ベキが計算できることを利用して次のように書ける
int main(){ int N,L; scanf("%d%d",&L,&N); printf("%d",N<<(L-3)); return 0; }
短くしようもない
L;main(N){scanf("%d%d",&L,&N);a=!printf("%d",N<<L-3);}
54B