标签:
input | output |
---|---|
4 |
100 |
1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cmath> 5 #include <deque> 6 #include <vector> 7 #include <queue> 8 #include <iostream> 9 #include <algorithm> 10 #include <map> 11 #include <set> 12 #include <ctime> 13 using namespace std; 14 typedef long long LL; 15 typedef double DB; 16 #define For(i, s, t) for(int i = (s); i <= (t); i++) 17 #define Ford(i, s, t) for(int i = (s); i >= (t); i--) 18 #define Rep(i, t) for(int i = (0); i < (t); i++) 19 #define Repn(i, t) for(int i = ((t)-1); i >= (0); i--) 20 #define rep(i, x, t) for(int i = (x); i < (t); i++) 21 #define MIT (2147483647) 22 #define INF (1000000001) 23 #define MLL (1000000000000000001LL) 24 #define sz(x) ((int) (x).size()) 25 #define clr(x, y) memset(x, y, sizeof(x)) 26 #define puf push_front 27 #define pub push_back 28 #define pof pop_front 29 #define pob pop_back 30 #define ft first 31 #define sd second 32 #define mk make_pair 33 inline void SetIO(string Name) { 34 string Input = Name+".in", 35 Output = Name+".out"; 36 freopen(Input.c_str(), "r", stdin), 37 freopen(Output.c_str(), "w", stdout); 38 } 39 40 inline int Getint() { 41 int Ret = 0; 42 char Ch = ‘ ‘; 43 while(!(Ch >= ‘0‘ && Ch <= ‘9‘)) Ch = getchar(); 44 while(Ch >= ‘0‘ && Ch <= ‘9‘) { 45 Ret = Ret*10+Ch-‘0‘; 46 Ch = getchar(); 47 } 48 return Ret; 49 } 50 51 const int N = 25, M = 190; 52 int n; 53 LL Dp[N][M][M*2]; 54 55 inline void Input() { 56 scanf("%d", &n); 57 } 58 59 inline void Solve() { 60 int m = n*9+1, Left, Right; 61 Left = n/2+1, Right = n/2; 62 Dp[0][0][m] = 1; 63 Rep(i, n+1) 64 Rep(j, m) 65 Rep(k, m*2) 66 if(Dp[i][j][k]) { 67 int x = k-m, _j, y; 68 Rep(l, 10) { 69 if(i+1 >= Left && l > j) break; 70 if(i+1 <= Right) _j = j+l; 71 else if(i+1 >= Left) _j = j-l; 72 if((i+1)&1) y = x+l; 73 else y = x-l; 74 //printf("%d %d %d %d %d %d\n", i, j, k-m,i+1, _j, y); 75 Dp[i+1][_j][y+m] += Dp[i][j][k]; 76 } 77 //printf("%d %d %d %d\n", i, j, k-m, Dp[i][j][k]); 78 } 79 80 cout<<Dp[n][0][m]<<endl; 81 } 82 83 int main() { 84 #ifndef ONLINE_JUDGE 85 SetIO("B"); 86 #endif 87 Input(); 88 Solve(); 89 return 0; 90 }
标签:
原文地址:http://www.cnblogs.com/StupidBoy/p/4893038.html