题解 AT2139 【[ABC046B] AtCoDeerくんとボール色塗り / Painting Balls with AtCoDeer】
AT2139 【[ABC046B] AtCoDeerくんとボール色塗り / Painting Balls with AtCoDeer】
本文涉及小学乘法原理内容,初、高中生请在小学生的陪同下谨慎观看!
乘法原理介绍:
做一件事,
完成它需要分成n个步骤,
做第1步有m1种不同的方法,
做第2步有m2不同的方法,
……
做第n步有mn不同的方法,
那么完成这件事共有:
N=m1×m2×m3×…×mn
种不同的方法。
分析
有1个球,有k种染法,
有2个球,因为第2个球不能和第1个球颜色相同,所以有k*(k-1)种染法,也就是$\mathbf{k*(k-1)}^1$种染法,
有3个球,因为第3个球不能和第2个球颜色相同,所以有k*(k-1)* (k−1)种染法,也就是$\mathbf{k*(k-1)}^2$种染法,
有4个球,就有$\mathbf{k*(k-1)}^3$种染法,
……
以此类推,
有n个球,那么就有$\mathbf{k*(k-1)}^{n-1}$种染法。
代码
#include<bits/stdc++.h> using namespace std; int main() { int n,k;//n个球,k种颜料 cin>>n>>k;//输入n和k int ans; ans=k*pow(k-1,n-1);//求染法 cout<<ans<<endl;//输出 return 0; }
完结撒花~(疯狂暗示 QwQ

浙公网安备 33010602011771号