zoukankan      html  css  js  c++  java
  • 杭电oj平台上的11页题目代码:hdu-page11 (2070~2079)

    //2070
    #include<stdio.h>
    #define N 51
    typedef long long ll;
    ll f[N];
    void init()
    {
    f[0] = 0;
    f[1] = 1;
    for (int i = 2; i < N; i++)
    {
    f[i] = f[i - 1] + f[i - 2];
    }
    }

    int main()
    {
    int n;
    init();
    while (~scanf("%d",&n))
    {
    if (n == -1)
    {
    break;
    }
    printf("%lld ", f[n]);
    }
    return 0;
    }

    //2075
    #include<stdio.h>
    int main()
    {
    int t;
    int a, b;
    scanf("%d", &t);
    while (t--)
    {
    scanf("%d%d", &a, &b);
    if (a%b==0)
    {
    printf("YES ");
    }
    else
    {
    printf("NO ");
    }
    }
    return 0;
    }

    //2078
    /*思路:他一晚上复习的最高效率值是多少,即求它的效率差值最大,从而能够保证效率值的平方最大,也就能保证效率值得平方和最大。
    而且在复习第一门课程后,他总是找一门比该课程简单的课程进行复习,那么我们可以知道只有保证了第一次的效率差值最大才能保证后面的其最大,当第一个不为最大的时候,后面又要一次递减,所以就更不能保证其为最大了。那么其实推理可得,我们只要保证第一次的效率值最大,也就能够保证其这一整天的效率值最大了;*/
    #include<iostream>
    #include<algorithm>
    #define N 41
    int diff[N];
    using namespace std;
    int main()
    {
    int T;
    int n, m;//n是他所选的课程,m是他一晚上最多能复习的课程
    cin >> T;
    int sum = 0;
    while (T--)
    {
    sum = 0;
    cin >> n >> m;
    for (int i = 0; i < n; i++)
    {
    scanf("%d", &diff[i]);//输入各门课程的难度
    }
    sort(diff, diff + n);
    sum = 0;
    sum += (100 - diff[0] )* (100 - diff[0]);
    cout << sum << endl;
    }

    return 0;
    }

    //2079
    #include<stdio.h>
    #include<string.h>
    #define N 55
    int sum;
    int dp[N];
    struct node{
    int a, b;
    }cla[N];
    int main()
    {
    int T;
    int n, k;
    scanf("%d", &T);
    while (T--)
    {
    memset(dp, 0, sizeof(dp));
    //n个学分
    scanf("%d%d", &n, &k);
    for (int i = 1; i<= k; i++)
    {
    //学分a的课有b门
    scanf("%d%d", &cla[i].a, &cla[i].b);
    }
    //求n个学分共有多少组合,一样学分的课没啥差别
    dp[0] = 1;
    for (int i = 1; i <= k; i++)
    {
    for (int j = n; j >= cla[i].a; j--)//容量
    {
    //b代表数量
    for (int l = 1; l <= cla[i].b; l++)//数量
    {
    if (j-cla[i].a*l>=0)
    {
    dp[j] += dp[j - cla[i].a*l];
    }
    else
    {
    break;
    }
    }
    }
    }
    printf("%d ", dp[n]);
    }
    return 0;
    }

    一生有所追!
  • 相关阅读:
    第七周总结
    结对开发nabcd
    第六周总结
    地铁售票设计思想及部分代码
    第二周总结
    进度总结(地铁查询购票)
    第三周总结
    冲刺四
    冲刺三
    冲刺2
  • 原文地址:https://www.cnblogs.com/BlueBlue-Sky/p/8640833.html
Copyright © 2011-2022 走看看