首页 > 其他分享 >《看了受制了》第十七天,4道题,合计74道题

《看了受制了》第十七天,4道题,合计74道题

时间:2023-09-15 22:24:47浏览次数:37  
标签:10 道题 last int else 60 受制 74 include

2023年9月15日

小白月赛前三题,PAT一题。这个PAT,我怕是读题都有困难啊。中文都读半天。。。。。

ACWIGN1494 银行排队

题目理解

这个题目就是模拟。纯模,数字字符串来回转。

代码实现

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
const int N = 10010;
int n, k;

int num(char c)
{
    return (int)c - 48;
}

int get(string p)
{
    int h = 10 * num(p[0]) + num(p[1]);
    int m = 10 * num(p[3]) + num(p[4]);
    int s = 10 * num(p[6]) + num(p[7]);

    return h * 3600 + m * 60 + s;
}

pair<string, int> q[N];
int main()
{
    int is = 0;
    cin >> n >> k;

    for(int i = 1; i <= n; i++)
        cin >> q[i].first >> q[i].second;

    sort(q + 1, q + 1 + n);

    priority_queue<int, vector<int>, greater<int>> qu;

    double total = 0;
    for(int i = 1; i <= n; i++)
    {
        double one = 0;
        string p = q[i].first;
        int last = q[i].second;
        if(last > 60)   
            last = 60;
        // 得到开始的时间秒数
        int se = get(p);
        if(se > 17 * 3600)
            break;
        is ++;
        int end = 0;

        // 开始要不要等,得到结束的秒数

        if(qu.size() < k)       // 没满
        {
            if(se < 8 * 3600)
            {
                one += 8 * 3600 - se;   // 只等待没开门
                end = 8 * 3600 + last * 60;
            }else{
                end = last * 60 + se;
            }
            qu.push(end);
        }else{  //满了

            int last_p = qu.top();    // 最先进去的顾客。出来的时间

            if(se < last_p)     // 如果是第一个顾客还没出来
            {
                one += last_p - se;
                end = last_p + last * 60;   //从上一个顾客出来再到结束
            }else{  //如果第一个顾客出来了

                end = se + last * 60;   //不需要等待直接进去
            }
            qu.push(end);
            qu.pop();   //要出来一个顾客了
        }

        total += one;

    }


    printf("%.1lf", total / 60 / is);
    return 0;
}

牛客月赛78第一题

题目理解

算面积。。。精度问题哎

代码实现

#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
    double a, b;
    cin >> a >> b;
    
    double r = a + b;

    double s = r * r * 3.141592653589793;
    
    printf("%.10lf", s);
    
    return 0;
    
}

小白月赛78第二题

题目理解

简单的模拟题,进行模拟即可。遇到小于10要加1、0加2、能整除加1

代码实现

#include<iostream>
using namespace std;

int main()
{
    string s;
    cin >> s;
    
    int res = 0;
    int a = 0, b = 0;
    for(int i = 0; i < s.size(); i++)
    {
        if(s[i] == 'a')
        {
            a++;
        }else
            b++;
        
        if(a == 0)
            res += 2;
        else if(a < 10)
            res += 1;
        else if(a % 10 == 0)
            res += 1;
            
        if(b == 0)
            res += 2;
        else if(b < 10)
            res += 1;
        else if(b % 10 == 0)
            res += 1;
    }
    cout << res;
    return 0;
}

小白月赛第三题

题目理解

对于这个集合中的一个数可以用,k1 * a + k2 * b来表示。学到的是set中的,rease操作。

代码实现

#include<iostream>
#include<algorithm>
#include<set>
using namespace std;

const int N = 1e6 + 10;
int dp[N];
typedef long long ll;

int main()
{
    ll k, a, b;
    
    cin >> k >> a >> b;
    
    set<ll> s;
    
    ll last;
    
    s.insert(a);
    s.insert(b);
    while(k -- )
    {
        last = *s.begin();
        s.erase(s.begin());
        s.insert(last + a);
        s.insert(last + b);
    }
    cout << last;
    return 0;
}

标签:10,道题,last,int,else,60,受制,74,include
From: https://www.cnblogs.com/wxzcch/p/17706022.html

相关文章

  • Xines广州星嵌全新FPGA开发板—OMAPL138/C6748 DSP+ARM+FPGA
    1  开发板简介    XQ138F-EVM是一款基于广州星嵌TIOMAP-L138(浮点DSPC6748+ARM9)+XilinxSpartan-6FPGA核心板SOM-XQ138F设计的开发板,它为用户提供了SOM-XQ138F核心板的测试平台,用于快速评估SOM-XQ138F核心板的整体性能。 XQ138F-EVM底板采用沉金无铅工艺的四层板设......
  • 宏景HCM SQL注入漏洞复现(CNVD-2023-08743)
    漏洞概述宏景HCM存在SQL注入漏洞,未经过身份认证的远程攻击者可利用此漏洞执行任意SQL指令,从而窃取数据库敏感信息。影响范围宏景HCM<8.2漏洞复现fofa语法:FOFA:body='<divclass="hj-hy-all-one-logo"'鹰图语法:app.name="宏景HCM"POC:(注入点是categories字段)/servlet/codes......
  • 《看了受制了》第十六天,6道题,合计70道题
    2023年9月14日题目不难,但是有点恶心。今天写的这个是真受制ACWING1478签到签出题目理解这个就是要把时间都转化成秒,然后排序即可。代码实现#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intn;pair<int,int>in[12],out[12];stri......
  • Maxon 802.11ax QCN9074 & QCN9024 WiFi6 modules
    TheMaxonQCN9074andQCN9024areboth4x4MIMO(multiple-input,multiple-output)wirelesschipsthatsupportthelatest802.11ax(Wi-Fi6)standard.TheyofferanumberofimprovementsoverpreviousgenerationsofWi-Fichips,including:Increaseddatar......
  • 关于异或运算的一道题
      和白球的数量无关,  黑球偶数个时,概率0%。   黑球奇数个时,概率100%。  设白球是0,黑球是1    0 0 ——> 0          1 1——> 0   0 1 ——> 1        ......
  • 《看了受制了》第十三天,4道题,合计57道题
    2023年9月11日前面几天去建模,虽然感觉根本过不了。。。。。哎,我们继续回归受制了系列。最近也会总结知识。今天是第二次AK周赛。ACWING5148字符串匹配题目理解,本题是个贪心。题目一点是B串可以随意调整顺序,那就非常EZ了。我们只需要进行对A串B串做一个字符出现次数的统计先......
  • 6574: 最大数 线段树/单点加/求区间最大值
    描述 给定一个正整数数列a1,a2,a3,⋯,an,每一个数都在0~p–1之间。可以对这列数进行两种操作:添加操作:向序列后添加一个数,序列长度变成n+1;询问操作:询问这个序列中最后L个数中最大的数是多少。程序运行的最开始,整数序列为空。写一个程序,读入操作的序列,并输出询问操作的......
  • Linux命令(74)之unzip
    linux命令之unzip1.unzip介绍linux命令是用来解压缩名称后缀为".zip"的文件2.unzip用法unzip[参数]filenname.zipunzip常用参数参数说明-l显示压缩文件内所包含的文件-t检查备份文件是否正确无误-v显示命令执行详细过程-q不显示命令执行过程-P<密码>使用unzip的密码选项-d......
  • CF1374E2 Reading Books(hard version) 题解
    CF1374E2ReadingBooks(hardversion)这道题是在CF1374E1ReadingBooks(easyversion)的基础上出的,而且仅仅增加了一个\(m\)的限制,下面的做法也是基于简单版的思路而想到的。建议先尝试简单版,然后尝试此题。题意简述:有\(n\)本书,每本书有一个阅读时间\(t_i\),和属性\(......
  • 《看了受制了》第十二天,4道题,合计53道题
    2023年9月6日今天是Atcoder、ACWING、牛客。预告!!已经再出Atcoder的爬虫翻译了(慢慢集成一下,数学建模完成后完善)。ACWING5199现代艺术题目理解这个题目以a数组作为横行的操作次数,b数组为纵向的操作次数。然后每一个位置的操作次数便是a[i]+b[j]就是第(i,j)的操作次数。......