如上图,组成环形的格子需要涂3种颜色。
它们的编号分别是1~14相邻的格子不能用相同的颜色。
涂色方案的数目是:24576
当格子数目为n的时候,求涂色方案总数。
我不知道怎么解决最后一个格子和第一个格子颜色冲突的问题,
但算n=14时确实答案正确,好奇怪。
解:
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
long[] a = new long[n + 1];// a[i]为第i格的涂法总数
a[1] = 3;
a[2] = 6;
for (int i = 3; i <= n; i++) {
a[i] = a[i - 1] * 2;//不能和前一个格子同色,所以是*2
}
System.out.println(a[n]);
}
}