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は時間なさそうだったのでこのへんで…。