题意是怎么理解的我也不知道,就抄了一下
题目大意:给出n个等边三角形,每个顶点都可以是1~3中的一个数,一个等边三角形三个顶点的总和不能是6。在n个三角形中只要有一个等边三角形满足条件,当前情况就是合格的,问有多少种合格的情况。
解题思路:所有的情况27n,没有一个三角形满足条件7n,案27n−7n。
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <cstdlib> using namespace std; typedef long long ll; const ll mod = 1e9 + 7; ll quick_mod(ll a, ll b) { ll ans = 1; while(b) { if(b&1) ans = (ans * a) % mod; b >>= 1; a = (a * a) % mod; } return ans; } int main() { ll n; scanf("%lld", &n); ll A = quick_mod(27, n); ll B = quick_mod(7, n); printf("%lld ", ((A % mod - B % mod) + mod) % mod); return 0; }