刷题笔记-24年3月第七组
Created at

1171 Words

24年-3月-第七组

P2550★

彩票摇奖:输入n表示张数,输入彩票的设定和小明买的彩票;输出中奖情况。

思路

  • 每轮统计一次中号次数
  • 在num中记录每个奖项的张数

总结

独立完成了,很简单

2637 ★

第一次,第二次,成交:拍卖会卖干草,n批甘草,m个客户,找出能帮助fj赚钱最多的最低的单批草料售价。

思路

  • 输入n,和m
  • 输入m个价格
  • 找出草料的最低价格和能赚到的钱(初步想要尝试穷举法)

总结

独立完成的一道题,用两个vector数组搞定了

  • 找出数组中最大元素的方法:
#include<algorithm>
sort(vec.begin(),vec.end());
max = vec[vec.size()-1];
  • 找出数组中最大元素下标的方法:
#include<algorithm>
auto maxelement=max_element(vec.begin(),vec.end());
int d=distance(vec.begin(),maxelement);

2669 ★

金币:第一天骑士收到一枚金币,第二天第三天收到两枚金币,之后三天三枚,在之后四天四枚,这种模式一直延续下去,即连续n天收到n枚金币后,骑士会在之后的连续n+1天里,每天收到n+1枚金币

思路

  • 输入发放金币的天数
  • 输出骑士收到的金币数
  • 直接模拟发送过程

总结

独立完成的一道题;

  • 第一次使用双重循环直接模拟,时间复杂度太高
    for(int i=1;;i++)
    {
        n=i;
        for(int j=1;j<=n;j++)
        {
            sum+=n;
            days++;
        }
        if(days==k) break;
    }
  • 改成单层循环解决了
    for(int i=1;i<=k;i++)
    {
        sum+=n;
        days++;
        if(days==n) {n++;days=0;}
    }

2670 ★★★★★

扫雷游戏,又是一道矩阵题目,输入雷区的行列数n和m,输入雷区情况,’*‘表示地雷,?表示非雷;输出完整的雷区(显示问好的内容)

思路

  • 输入n,m;
  • 输入雷区
  • 输出答案;

总结

感觉逻辑没问题,但是只有50分,到目前几乎还没有all ac这种矩阵题

2676 ★

Bookshelf B:不同身高的奶牛拿书,算最少要多少头奶牛叠塔才能够都书架顶部;

思路

  • 输入奶牛的数量和暑假的高度
  • 输入每头奶牛的身高
  • 排序
  • 计算最少奶牛的叠塔方法

总结

很水的一道题,只要会用sort函数,一分钟all ac;

2689 ★

东南西北,输入小明的位置和想去的位置,输入时刻数和风向,计算最小需要的步数;

思路

  • 输入坐标,输入时刻数和风向;
  • 计算最小需要的步数;

总结

逻辑很简单,判断写对就能够all AC

2705 ★★★★★

小球游戏:输入R和B(小球的盒子和个数),CDE是得分,输出最大得分的放置方法

思路

  • 输入RBCDE
  • 计算最大得分

总结

  • 没太理解题解,后续要看

2788 ★

math1-加减公式:有点类似于识别表达式;

思路

  • 读入字符串
  • 识别表达式
  • 计算结果并输出

总结

独立完成的一道题,简单的字符串拆分和类型转换

2907 ★★★

roads around farm s: N只奶牛沿着一条路走,会遇到无数的三岔路口,可能会在三岔路口分裂成两群继续走,如果牛群可以精确地分成两部分,且这两部分的牛数量恰好相差K头,那么牛群才会分裂,计算最终会有多少牛会留下来

思路

  • 输入N和K
  • 模拟分裂过程
  • 计算剩余牛数 模拟不出划分,需要用到递归的思想 看了题解,递归的方法不太好理解:
int main()
{
    int f(int a);
    cin>>n>>k;
    cout<<f(n);
    return 0;
}

int f(int a)    //划分计算
{
    if((a-k)%2==0&&a-k>0)
        return f((a+k)/2)+f((a-k)/2);
    else return 1;
}

2911 ★

Bovine Bones G: 三个骰子有不同的面数,计算出三个面上数字的和值,找出哪个和值出现的概率最大

思路

  • 输入筛子的面数
  • 枚举每种情况的次数

总结

还算简单的一道题,独立完成了,再次用到了algorithm库中maxelement函数和distance函数