11 条题解
-
1
主打的就是理解
#include<iostream> #include<vector> using namespace std; ////递归超时 //int dfs(int n){ // if(n<=2)return n; // return dfs(n-1)+dfs(n-2); //} int main(){ int n; cin>>n; if(n<=2)cout<<n; vector<int> arr(n+1); arr[1]=1; arr[2]=2; for(int i=3;i<=n;i++){ arr[i]=arr[i-1]+arr[i-2]; } // cout<<dfs(n-1); return 0; }
-
0
//#include<bits/stdc++.h> #define int long long using namespace std; int mem[100]; int dfs(int x) { if(mem[x]) return mem[x]; int sum = 0; if(x == 1) sum = 1; else if(x == 2) sum = 2; else sum = dfs (x - 1) + dfs(x - 2); mem[x] = sum; return sum; } signed main() { int n; cin >> n; int res=dfs(n-1); cout << res << '\n'; return 0; //}
-
0
#include <stdio.h> #include "math.h" int main() { int count(int a, int b); int a,b=0,i=0; scanf("%d",&a); a=a-1; while (a-i>=a/2) { b+=count(a-i,i); i++; } printf("%d",b); return 0; } int count(int a, int b) { int i,c=1; for(i=a;i>a-b;i--) { c*=i; } for(i=1;i<=b;i++) { c/=i; } return c; }//函数计算排序数
- 1
信息
- ID
- 39
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 3253
- 已通过
- 927
- 上传者