7 条题解

  • 0
    @ 2024-10-31 18:01:44

    //递归解法,用数组存结果防止重复运算爆内存 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int arr[100]; int f(int m) { if (arr[m] != 0) { return arr[m]; } else if (m == 1) { return 0; } else if (m == 2) { return 1; } else if (m == 3) { return 2; } else { return (arr[m - 1] = f(m - 1)) + (arr[m - 2] = f(m - 2)); } }

    int main() { int n; scanf("%d", &n); while (n--) { int m; scanf("%d", &m); printf("%d\n", f(m)); } return 0; }

    信息

    ID
    153
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    (无)
    递交数
    1000
    已通过
    256
    上传者