Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <vector>#include <algorithm>#include <queue>#include <set>#include <cstring>#include <cmath>#include <map>#include <string>#include <sstream>using namespace std;typedef long long ll;typedef pair<int,int> P;#define X first#define Y secondconst int N = 1005;const ll M = 1000000007;ll dp[N][3] = {0};void go() {int n;cin >> n;dp[0][0] = 1;for(int i = 1; i < n; i++) {dp[i][0] = (dp[i-1][0] + dp[i-1][1] + dp[i-1][2]) * 9;dp[i][0] %= M;dp[i][1] = dp[i-1][0];dp[i][2] = dp[i-1][1];