• [解题报告] CSDN竞赛第六期


    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16

    1. 严查枪火

    题目

    X国最近开始严管枪火。
    像是"ak", “m4a1”, “skr”。都是明令禁止的。
    现在小Q查获了一批违禁物品其中部分是枪支。
    小Q想知道自己需要按照私藏枪火来关押多少人。
    (只有以上三种枪被视为违法)

    输入描述:
    第一行输入整数n.(1 <= n <= 10000)表示携带违禁物品的人数。
    以下n行表示违禁物品的名称。

    输出描述:
    输出需要按照私藏枪火来关押的人。

    示例:
    输入
    4
    aj
    m4a1
    skr
    sc

    输出
    2

    解题报告

    模拟

    #include 
    #include 
    #include 
    #include 
    using namespace std;
    
    int main() {
        int n, s = 0;
        string a;
        cin >> n;
        for (int i = 0; i < n; ++i) {
            cin >> a;
            if (a == "ak" || a == "m4a1" || a == "skr") {
                ++s;
            }
        }
        printf("%d\n", s);
        return 0;
    }
    

    2. 鬼画符门

    题目

    鬼画符门,每年都会统计自己宗门鬼画符消耗的数量。
    往年一直是大师兄管理。
    但是大师兄谈恋爱了!!怎么能让这种事耽误自己恋爱时间呢!!
    鬼艺接手了!!
    你能帮鬼艺写一个程序统计每年消耗数量最多的鬼画符吗?

    输入描述:
    第一行输入整数n.(1 <= n <= 1000)
    以下n行输入n个字符串。

    输出描述:
    输出答案字符串。

    示例:
    输入
    5
    red
    red
    green
    grenn
    hen

    输出
    red

    解题报告

    模拟

    #include 
    #include 
    #include 
    #include 
    #include 
    using namespace std;
    map<string, int> h;
    
    int main() {
        int n, s = 0;
        string a, ans;
        cin >> n;
        for (int i = 0; i < n; ++i) {
            cin >> a;
            ++h[a];
        }
        for (map<string, int>::iterator it = h.begin(); it != h.end(); ++it) {
            if (it->second > s) {
                s = it->second;
                ans = it->first;
            }
            s = max(s, it->second);
        }
        cout << ans << endl;
        return 0;
    }
    

    3. 收件邮箱

    题目

    已知字符串str,str表示邮箱的不标准格式。
    其中".“会被记录成"dot”,“@“记录成"at”。
    写一个程序将str转化成可用的邮箱格式。(可用格式中字符串中除了开头结尾所有"dot”, 都会被转换, "at"只会被转化一次,开头结尾的不转化)

    输入描述:
    输入字符串str.(1 <= strlen(str) <= 1000)

    输出描述:
    输出转化后的格式。

    示例:
    输入
    mxyatoxcoderdotcom

    输出
    mxy@oxcoder.com

    解题报告

    模拟

    #include 
    #include 
    #include 
    #include 
    #include 
    using namespace std;
    
    int main() {
        string a;
        cin >> a;
        int n = a.length();
        int x = a.find("at", 1);
        if (x < n - 2) {
            a = a.replace(x, 2, "@");
        }
        x = a.find("dot", 1);
        while (x > 0 && x < n - 3) {
            a = a.replace(x, 3, ".");
            x = a.find("dot", 1);
            n = a.length();
        }
        cout << a << endl;
        return 0;
    }
    

    4. 最长递增的区间长度

    题目

    给一个无序数组,求最长递增的区间长度。如:[5, 2, 3, 8, 1, 9] 最长区间 2, 3, 8 长度为 3

    输入描述:
    第一行输入整数n。(1 <= n <= 10000)表示数组的大小
    第二行给出n个整数a.(-1e9 <= a <= 1e9)

    输出描述:
    nan

    输入样例:
    6
    5 2 3 8 1 9

    输出样例:
    3

    解题报告

    模拟

    #include 
    #include 
    #include 
    #include 
    using namespace std;
    #define N 10005
    int a[N];
    
    int main() {
        int n, s = 1, ans = 1;
        scanf("%d", &n);
        for (int i = 0; i < n; ++i) {
            scanf("%d", &a[i]);
            if (i > 0 && a[i] > a[i - 1]) {
                ++s;
            }
            else {
                s = 1;
            }
            ans = max(ans, s);
        }
        printf("%d\n", ans);
        return 0;
    }
    
  • 相关阅读:
    【计算机网络】TCP协议与UDP协议
    Methoxy-PEG-PLGA,mPEG-PLGA是一种可生物降解的两亲性嵌段共聚物
    js ajax返回判断
    LeetCode 362 期周赛
    聊聊日志硬扫描,阿里 Log Scan 的设计与实践
    电场强度通量的高斯定理
    Node.js精进(8)——错误处理
    统一身份认证实现,推广的可能性及优缺点?
    Nodejs+vue高校机房设备管理系统jt07u
    《动手学深度学习 Pytorch版》 7.5 批量规范化
  • 原文地址:https://blog.csdn.net/LiJiancheng0614/article/details/127045178