浏览代码

危险的组合

liuhuan 5 年之前
父节点
当前提交
1433ccb435
共有 1 个文件被更改,包括 27 次插入0 次删除
  1. 27 0
      H.cpp

+ 27 - 0
H.cpp

@@ -0,0 +1,27 @@
+//
+// Created by liuhuan on 18-11-7.
+//
+#include <bits/stdc++.h>
+
+using namespace std;
+typedef unsigned long long LL;
+LL f[31][2][2] = {0};
+
+int main() {
+    int n;
+    cin >> n;
+    if (n < 3) {
+        cout << 0 << endl;
+        return 0;
+    }
+
+    f[3][0][0] = f[3][0][1] = f[3][1][0] = 2, f[3][1][1] = 1;/*设置LL LU UL UU*/
+    for (int i = 4; i <= n; i++) {
+        f[i][0][0] = f[i - 1][0][0] + f[i - 1][0][1];
+        f[i][0][1] = f[i - 1][1][1] + f[i - 1][1][0];
+        f[i][1][0] = f[i - 1][0][0] + f[i - 1][0][1];
+        f[i][1][1] = f[i - 1][1][0];
+    }
+    cout << (1LL << n) - (f[n][0][0] + f[n][0][1] + f[n][1][0] + f[n][1][1]) << endl;
+    return 0;
+}