码蹄杯刷题

MC0102房间打扫

贪心解法:统计每列0的个数,超过一半就打扫

有3个测试点会WA

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int res = 0;
    vector<vector<char>> s(n, vector<char>(n));
    vector<int> cnt(n);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cin >> s[i][j];
            if (s[i][j] == '0')
            {
                cnt[j]++;
            }
        }
    }
    for (int j = 0; j < n; j++)
    {
        if (cnt[j] * 2 > n)
        {
            for (int i = 0; i < n; i++)
            {
                if (s[i][j] == '1')
                {
                    s[i][j] = '0';
                }
                else
                {
                    s[i][j] = '1';
                }
            }
        }
    }
    for (int i = 0; i < n; i++)
    {
        bool flag = true;
        for (int j = 0; j < n; j++)
        {
            if (s[i][j] == '0')
            {
                flag = false;
                break;
            }
        }
        if (flag)
        {
            res++;
        }
    }
    cout << res;
    return 0;
}

正确解法是哈希表

统计相同的字符串

cpp 复制代码
#include <iostream>
#include <string>
#include <unordered_map>
#include <algorithm>
using namespace std;
int main()
{
    unordered_map<string, int> map;
    int n;
    cin >> n;
    int res = 0;
    string s;
    for (int i = 0; i < n; i++)
    {
        cin >> s;
        map[s]++;
        res = max(res, map[s]);
    }
    cout << res;
    return 0;
}

MC0104项链

cpp 复制代码
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
    int n;
    cin >> n;
    vector<int> s(n);
    for (int i = 0; i < n; i++)
    {
        cin >> s[i];
    }
    sort(s.begin(), s.end());
    int high = 0;
    int low = 0;
    for (int i = 0; i < n / 2; i++)
    {
        low += s[i];
    }
    for (int i = n - n / 2; i < n; i++)
    {
        high += s[i];
    }
    cout << 2 * (high - low);
    return 0;
}
相关推荐
aramae5 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
荆棘鸟智能6 小时前
城市感知设备怎么统一接入?从多协议网关到设备模型的中间件架构设计
人工智能·算法·边缘计算
淡海水7 小时前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
Logic1017 小时前
C语言/数据结构位运算题解:异或XOR找出时尚聚会中的“独特颜色“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
知识分享小能手9 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
qq_199886879 小时前
第8板块·第2节:统一内存的高级特性与性能调优
c++·人工智能·gpu算力·cuda
INGNIGHT10 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
2401_8390805410 小时前
C++常见八股
数据结构·c++·算法
qq_1998868711 小时前
第6板块 第2节 CUDA运行时API与驱动API 核心笔记
c++·人工智能·gpu算力
青山是哪个青山11 小时前
LeetCode 188:买卖股票的最佳时机 IV
算法