首页 > 其他分享 >《看了受制了》第十六天,6道题,合计70道题

《看了受制了》第十六天,6道题,合计70道题

时间:2023-09-14 22:35:06浏览次数:37  
标签:道题 string int res cin 受制 && 70 include

2023年9月14日

题目不难,但是有点恶心。今天写的这个是真受制

ACWING1478 签到签出

题目理解

这个就是要把时间都转化成秒,然后排序即可。

代码实现

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

int n;

pair<int, int> in[12], out[12];
string a[12];

int to_second(string k)
{
    int h = 0, min = 0, s = 0;

    h += (int)k[0] - 48;
    h *= 10;
    h += (int)k[1] - 48;
    h *= 3600;

    min += (int)k[3] - 48;
    min *= 10;
    min += (int)k[4] - 48;
    min *= 60;

    s += (int)k[6] - 48;
    s *= 10;
    s += (int)k[7] - 48;

    return h + min + s;
}


int main()
{
    cin >> n;

    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
        string time1, time2;

        cin >> time1 >> time2;

        in[i].first = to_second(time1);
        out[i].first = to_second(time2);

        in[i].second = i;
        out[i].second = i;
    }

    sort(in + 1, in + 1 + n);
    sort(out + 1, out + 1 + n);

    cout << a[in[1].second] << " " << a[out[n].second];

    return 0;
}

ACWING1519 密码

题目理解

模拟即可。

代码实现

#include<cstring>
#include<iostream>
#include<vector>
using namespace std;

const int N = 1010;

bool st[N];

bool check(string p)
{
    for(int i = 0; i < p.size(); i++)
        if(p[i] == '0' || p[i] == '1' || p[i] == 'l' || p[i] == 'O')
            return true;

    return false;
}

string change(string p)
{
    string res = "";

    for(int i = 0; i < p.size(); i++)
    {
        if(p[i] == '0')
            res += '%';
        else if(p[i] == '1')
            res += '@';
        else if(p[i] == 'l')
            res += 'L';
        else if(p[i] == 'O')
            res += 'o';
        else
            res += p[i];
    }

    return res;
}

int main()
{
    int n;
    cin >> n;

    int flag = 0, res = 0;
    vector<string> user, pass;
    for(int i = 0; i < n; i++)
    {


        string a, b;
        cin >> a >> b;

        user.push_back(a);

        if(check(b))
        {
            flag = 1;
            pass.push_back(change(b));
            res ++;
            st[i] = true;
        }else{
            pass.push_back(b);
        }

    }

    if(flag)
    {
        cout << res << endl;

        for(int i = 0; i < n; i++)
            if(st[i])
                cout << user[i] << " " << pass[i] << endl;
    }else{
        if(n == 1 || n == 0)
            cout << "There is " << n <<" account and no account is modified";
        else
            cout << "There are " << n <<" accounts and no account is modified";
    }

    return 0;
}

ACWING1520 男孩儿女孩

题目理解

模拟,性别然后每次成绩作比较,存储姓名和学号。这个算不恶心的。

代码实现

#include<iostream>
using namespace std;

bool flagM, flagF;
string nameM, nameF, numM, numF;

int scoreM = 110, scoreF = -1, n;

int main()
{
    cin >> n;

    for(int i = 1; i <= n; i++)
    {
        string name, sex, num;
        int score;

        cin >> name >> sex >> num >> score;

        if(sex == "F")
        {
            if(score > scoreF)
            {
                nameF = name;
                numF = num;
                scoreF = score;
            }
        }else{
            if(score < scoreM)
            {
                nameM = name;
                numM = num;
                scoreM = score;
            }
        }
    }

    if(scoreF == -1)
        cout << "Absent" << endl;
    else
        cout << nameF << " " << numF << endl;

    if(scoreM == 110)
        cout << "Absent" << endl;
    else
        cout << nameM << " " << numM << endl;

    if(scoreF == -1 || scoreM == 110)
        cout << "NA";
    else
        cout << scoreF - scoreM;

    return 0;
}

ACWING1534 字符串减法

题目理解

这个题简单,桶排思想存储B数组即可。

代码实现

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

bool st[200];
string a, b;


int main()
{

    getline(cin, a);
    getline(cin, b);

    for(int i = 0; i < b.size(); i++)
        st[(int)b[i]] = true;

    for(int i = 0; i < a.size(); i++)
        if(!st[(int)a[i]])
            cout << a[i];

    return 0;
}

ACWING1557 说话方式

题目理解

这个题先用getline()全读进来,然后一个一个字符判断,因为存在断位的地方是特殊字符的情况,所以对于每一个字符进行check函数的判断即可。然后再将其放进map求出现次数最多的。

代码实现

#include<iostream>
#include<unordered_map>
#include<vector>
#include<algorithm>
using namespace std;

vector<string> q;
unordered_map<string, int> map;

bool check(char s)
{
    if(s >= 'a' && s <= 'z' || s >= 'A' && s <= 'Z' || s >= '0' && s <= '9')
        return true;

    return false;
}

char to_lower(char s)
{
    if(s >= 'A' && s <= 'Z')
        return (char)((int)s + 32);

    return s;
}

int main()
{
    string k;

    getline(cin, k);

    for(int i = 0; i < k.size(); i++)
    {
        string p = "";
        while(check(k[i]))
        {
            p += to_lower(k[i]);
            i++;
        }

        if(p != "")
        {
            q.push_back(p);
            map[p] = 0;
        }
    }


    sort(q.begin(), q.end());
    int res= 0;
    string ss;
    for(int i = 0; i < q.size(); i++)
    {
        map[q[i]]++;
        if(map[q[i]] > res)
        {
            ss = q[i];
            res = map[q[i]];
        }
    }

    cout << ss << " " <<res;
    return 0;
}

ACWING1547 约会

题目理解

这个B题目,写了20分钟,主要是凤凰传奇的光芒太好听了。这个题的坑是,要考虑到每个字符,题目上说的很清楚:

  • 第一个相同字符只能是A ~ G
  • 第二个只能是0`9`或`A`N
    确定这两个才能AC不然就被SF搞了。

代码实现

#include<iostream>
using namespace std;

const int N = 10;

string wochen[] = {"", "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};

int main()
{

    string s1, s2, s3, s4;

    cin >> s1 >> s2 >> s3 >> s4;

    char w, h;
    int flag = 0;

    for(int i = 0; i < s1.size() && i < s2.size(); i++)
    {
       if(s1[i] == s2[i] && s1[i] >= 'A' && s1[i] <= 'G' && flag == 0)
        {

            if(flag == 0)
            {
                w = s1[i];
                flag = 1;
            }
        }else if(flag == 1 && s1[i] == s2[i] && (s1[i] >= 'A' && s1[i] <= 'N' || s1[i] >= '0' && s1[i] <= '9')){
            h = s1[i];
            break;
        } 
    }


    int p = 0;
    for(int i = 0; i < s3.size() && i < s4.size(); i++)
        if(s3[i] == s4[i] && (s3[i] >= 'a' && s3[i] <= 'z' || s3[i] >= 'A' && s3[i] <= 'Z' ))
        {
            p = i;
            break;
        }

    cout << wochen[((int)(w) - 64)] << " ";
    // 输出小时
    if(h >= 'A' && h <= 'Z')
        printf("%02d:", 9 + (int)(h) - 64);
    else
        printf("%02d:",(int)(h) - 48);

    printf("%02d", p);
    return 0;
}

标签:道题,string,int,res,cin,受制,&&,70,include
From: https://www.cnblogs.com/wxzcch/p/17703697.html

相关文章

  • 洛谷P5707 【深基2.例12】上学迟到
    题目描述学校和yyy的家之间的距离为 ss 米,而yyy以 vv 米每分钟的速度匀速走向学校。在上学的路上,yyy还要额外花费 1010 分钟的时间进行垃圾分类。学校要求必须在上午 \textrm{8:00}8:00 到达,请计算在不迟到的前提下,yyy最晚能什么时候出门。由于路途遥远,yyy可......
  • 你的GB7000.202嵌入式灯检测报告
    灯具第2-2部分:特殊要求嵌入式灯具GB7000.202-200852021-04-121标志灯具第2-2部分:特殊要求嵌入式灯具IEC60598-2-2:2011EN60598-2-2:2012,BSEN60598-2-2:2012,AS/NZS60598.2.2:20162.62021-04-12灯具第2-2部分:特殊要求嵌入式灯具GB7000.202-200......
  • 关于异或运算的一道题
      和白球的数量无关,  黑球偶数个时,概率0%。   黑球奇数个时,概率100%。  设白球是0,黑球是1    0 0 ——> 0          1 1——> 0   0 1 ——> 1        ......
  • 洛谷 CF707C Pythagorean Triples の 题解
    这道题是一道数论题,不可用暴力通过,因为输入范围极大,基本上循环是不能在这道题上使用的了。前面大佬们讲的我听不懂,于是在教练的帮助下,我利用题面给出的多组样例找到了规律。在此之前,我们先设输入的数为\(n\)。\(n\)分三种情况。\(n\)是奇数;\(n\)是偶数;\(n\)小于等于......
  • 固定式灯具一般要求GB7000.201与EN60598-2-1
    灯具第2-1部分:特殊要求固定式通用灯具GB7000.201-200852021-04-12灯具第2-1部分:特殊要求固定式通用灯具IEC60598-2-1:1979+A1:1987EN60598-2-1:1989,BSEN60598-2-1:1989,IEC60598-2-1:20201.62021-04-121标志灯具第2-1部分:特殊要求固定式通用灯具AS......
  • hdu 4705 Y
    dfs1.要#pragmacomment(linker,"/STACK:16777216")2.扩栈要vc++编译环境3.不能用%lld,要用%I64d,无语。。#pragmacomment(linker,"/STACK:16777216")//手动扩栈#include<stdio.h>#include<string.h>#include<stdlib.h>#include<vector>using......
  • 《看了受制了》第十三天,4道题,合计57道题
    2023年9月11日前面几天去建模,虽然感觉根本过不了。。。。。哎,我们继续回归受制了系列。最近也会总结知识。今天是第二次AK周赛。ACWING5148字符串匹配题目理解,本题是个贪心。题目一点是B串可以随意调整顺序,那就非常EZ了。我们只需要进行对A串B串做一个字符出现次数的统计先......
  • LED灯GB7000检测报告灯具一般要求与试验
    灯具第1部分:一般要求与试验GB7000.1-2015IEC60598-1:2014EN60598-1:2015/A1:2018,BSEN60598-1:2015+A1:2018,IEC60598-1:202032021-04-121标志灯具第1部分:一般要求与试验AS/NZS60598.1:2017,AS/NZS60598.1:2017Amd2:202032021-04-12灯具第1部分:一......
  • Drupal < 7.32版本 _“Drupalgeddon” SQL注入漏洞(CVE-2014-3704)
    目录1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证说明内容漏洞编号CVE-2014-3704漏洞名称Drupal“Drupalgeddon”SQL注入漏洞漏洞评级影响范围Drupal7.0~7.31版本漏洞描述修复方案1.1、漏洞......
  • PPT| 企业信息化建设项目业务总体设计方案 P70
    本人从事咨询工作多年,二十年一线数字化规划咨询经验,提供制造业数智化转型规划服务,顶层规划/企业架构/数据治理/数据安全解决方案资料干货.【智能制造数字化咨询】该PPT共70页,由于篇幅有限,以下为部分资料,如需完整原版 方案,点击右上角红色按钮关注+私信。......