模拟题刷题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] << " ";
    }
}
相关推荐
遥感知识服务6 小时前
从局部阈值、双极化到暗地表剔除:NASA OPERA DSWx-S1全球动态水体算法拆解
大数据·人工智能·深度学习·神经网络·算法·机器学习
晚风醉蝶6 小时前
1-13-TimSort
算法
Rain的Java大神之路6 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
ZJU_统一阿萨姆7 小时前
【算子开发】算子融合与Softmax_LayerNorm实现
人工智能·算法·语言模型·硬件架构
2602_959960927 小时前
谢飞机面试大厂:Spring Boot、JVM、Redis、Kafka、微服务与音视频搜索场景求生实录
java·jvm·spring boot·redis·面试题
Zane1994127 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言
略略略咯咯8 小时前
AI玩具-study
java
叩码以求索9 小时前
浅谈:前序遍历反转法求解N叉树的后序遍历
算法
xier_ran9 小时前
【infra之路】GPU 存储层次总结:L1 / L2 / HBM
java·网络·数据库
wuminyu9 小时前
JDK21中虚拟线程和FFM协同实现高并发源码剖析
java·linux·c语言·jvm·c++