30日目:Beginner 46

30日目(2019/9/19)

AtCoder Beginner Contest 046

最近更新頻度が落ちてきてていけない…。

解けた問題

A:AtCoDeerくんとペンキ / AtCoDeer and Paint Cans

数をそれぞれ受け取って、値同士を比較して結果を返したよ。

B:AtCoDeerくんとボール色塗り / Painting Balls with AtCoDeer

パターンを考える問題。まず1つ目の球を塗るときのパターンは、K色のなかから選ぶから、Kパターン。2つ目の球を塗るときのパターンは、1つ目に選んだやつとかぶっちゃいけないので、K-1パターン。3色目は、2つ目に選んだやつとかぶっちゃいけないけど、1つ目に選んだものは選んでもいいのでK-1パターン。
つまり、N(N>1)番目に選ぶパターン数はK-1で表されるので、それをループで表せば良い。答えの桁数が多いのでカウントする変数はlong long型にしました。

#include <iostream>
#include <cmath>
using namespace std;

int main(void){
    int N,K;
    long long pat;
    cin >> N >> K;
    pat = K;
    for(int i=1;i<N;i++){
        pat *= (K-1);
    }
    cout << pat << endl;
}

出先でちょこっとやってCは時間なさそうだったのでこのへんで…。