打卡第一天

披星戴月的贾维斯
C/C++领域新星作者
2023-03-04 16:07:07

第一题:数列求和

#include <iostream>
using namespace std;
int main ()
{
  int a = 1, b =1 , c = 1, d;
  for(int i = 4; i <= 20190324; i++)
  {
    d = (a + b + c) % 10000;
    a = b;
    b = c;
    c = d;
  }
  printf("%04d", d);
  return 0;
}

第二题:质数

#include <iostream>
using namespace std;

int main()
{
  int res = 3;
  for(int i = 6; ; i++) //因为5已经是质数了,所以我们少算了一个
  {
    bool flag = true;
    for(int j = 2; j * j <= i; j++)
    {
        if(i % j == 0)
        {
          flag = false;
          break;
        }
    }
    if(flag) res ++;
    if(res  == 2019 ){
      cout << i;
      break;
    }
  }
  return 0;
}

第三题饮料换购

#include<cstdio>
#include<iostream>
using namespace std;
int n;
int main ()
{
    cin >> n;
    int res = n;
    while(n >= 3)
    {
        res += n / 3;
        n = n / 3 + n % 3;
    }
    cout << res << endl;
    return 0;
}

第四题:巧克力,详细注释

//贪心
#include<bits/stdc++.h>

using namespace std;
const int N = 1e5 + 10;
struct qiaokl //用结构体来读入,很巧妙的思维
{
    int val, days,num;
    //结构体里使用操作符重载
    bool operator<(const qiaokl & w)const{
        return val > w.val;
    }
}a[N];
bool cmp(qiaokl &t, qiaokl &d)
{
    return t.days > d.days;//让他的保质期由大到小
}
int main ()
{
    int x, n;
    cin >> x >> n;
    for(int i = 0; i < n; i++)
    {
        cin >> a[i].val >> a[i].days >> a[i].num;
    }
    sort(a, a + n, cmp);//重载cmp
    priority_queue<qiaokl> qkl;
    long long ans = 0;//计算价格
    int now = x; // 现在买到第几天的巧克力
    int cnt = 0; //第几种巧克力
    qkl.push(a[cnt++]); //就是把每种巧克力的价格 保质期 天数放进去
    
    while(!qkl.empty() && now > 0)
    {
        while(a[cnt].days >= now && cnt < n)
        {
            qkl.push(a[cnt++]);
        }
        qiaokl t = qkl.top(); //获取队列的顶栈
        qkl.pop();
        ans += t.val;
        now --;//把安排好的巧克力天数删除
        t.num--;
        if(t.num >0) qkl.push(t); //直到没有可以符合的巧克力
    }
    if(now > 0) cout << -1 << endl;
    else cout << ans << endl;
    return 0;
}

 

 

 

 

 

 

 

 

 

 

...全文
20 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,854

社区成员

发帖
与我相关
我的任务
社区描述
和众多高校算法内卷分子,一起学习和交流算法那。浓郁的算法交流氛围,拒绝躺平,有效内卷。加入我们,私信我拉你入核心内卷群。
算法数据结构leetcode 个人社区
社区管理员
  • 执 梗
  • Dream-Y.ocean
  • ღCauchyོꦿ࿐
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

 刷题!

试试用AI创作助手写篇文章吧