模拟题刷题3

总结

stoi不能转char

栈模拟

时间显示保留前导0:printf("%02d:%02d", hour, second);

236A

简单

cpp 复制代码
void solve()
{
    unordered_map<char, int> map;
    string t;
    cin >> t;
    for (char c : t)
    {
        map[c]++;
    }
    if (map.size() % 2)
    {
        cout << "IGNORE HIM!";
    }
    else
    {
        cout << "CHAT WITH HER!";
    }
}

339A

注意stoi不能转char

cpp 复制代码
void solve()
{
    string t;
    cin >> t;
    vector<int> s;
    for (char c : t)
    {
        if (c != '+')
        {
            s.push_back(c - '0');
        }
    }
    sort(s.begin(), s.end());
    string ans = "";
    for (int n : s)
    {
        ans += to_string(n);
        ans += '+';
    }
    ans.pop_back();
    cout << ans;
}

281A

简单

cpp 复制代码
void solve()
{
    string t;
    cin >> t;
    if (t[0] >= 'a' && t[0] <= 'z')
    {
        t[0] = t[0] - 'a' + 'A';
    }
    cout << t;
}

791A

简单

cpp 复制代码
void solve()
{
    int a, b;
    cin >> a >> b;
    int ans = 0;
    while (a <= b)
    {
        ans++;
        a *= 3;
        b *= 2;
    }
    cout << ans;
}

266A

栈模拟

cpp 复制代码
void solve()
{
    int n;
    cin >> n;
    string s;
    cin >> s;
    stack<char> stk;
    for (char c : s)
    {
        if (!stk.empty() && stk.top() == c)
        {
            continue;
        }
        else
        {
            stk.push(c);
        }
    }
    cout << n - stk.size();
}

546A

简单

cpp 复制代码
void solve()
{
    int k, n, w;
    cin >> k >> n >> w;
    int sum = 0;
    for (int i = 1; i <= w; i++)
    {
        sum += i * k;
    }
    sum -= n;
    cout << max(sum, 0);
}

1133A

时间显示保留前导0:printf("%02d:%02d", hour, second);

cpp 复制代码
void solve()
{
    string a, b;
    cin >> a >> b;
    int x = stoi(a.substr(0, 2)) * 60 + stoi(a.substr(3, 2));
    int y = stoi(b.substr(0, 2)) * 60 + stoi(b.substr(3, 2));
    int time = (y - x) / 2;
    int hour = stoi(a.substr(0, 2)) + time / 60;
    time %= 60;
    int second = stoi(a.substr(3, 2)) + time;
    if (second >= 60)
    {
        int k = second / 60;
        hour += k;
        second = second - k * 60;
    }
    printf("%02d:%02d", hour, second);
}

441A

注意读完数据,没有读完就break会导致本次读入上一次的数据

cpp 复制代码
void solve()
{
    vector<int> ans;
    int n, v;
    cin >> n >> v;
    for (int i = 1; i <= n; ++i)
    {
        int k;
        cin >> k;
        bool ok = false;
        for (int j = 0; j < k; ++j)
        {
            int t;
            cin >> t;
            if (t < v)
                ok = true; // 只标记,不 break
        }
        if (ok)
            ans.push_back(i);
    }
    cout << ans.size() << endl;
    for (int i = 0; i < ans.size(); i++)
    {
        cout << ans[i] << " ";
    }
}
相关推荐
代码AI弗森1 小时前
一文理清楚“算力申请 / 成本测算 / 并发评估”
java·服务器·数据库
Old Uncle Tom1 小时前
OpenClaw 记忆系统 -- 记忆预加载
java·数据结构·算法·agent
会编程的土豆1 小时前
洛谷题单入门1 顺序结构
数据结构·算法·golang
小小小米粒1 小时前
Collection单列集合、Map(Key - Value)双列集合,多继承实现。
java·开发语言·windows
生信碱移1 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
智者知已应修善业2 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
摇滚侠2 小时前
expdp 查看帮助
java·数据库·oracle
:1212 小时前
java基础
java·开发语言
曹牧3 小时前
Spring:@RequestMapping注解,匹配的顺序与上下文无关
java·后端·spring
daixin88483 小时前
cursor无法正常使用gpt5.5等模型解决方案
java·redis·cursor