2.21 oj基础89 90 91+U12B部分

打卡内容:oj基础89 90 91+U12B部分P10 11 12+单词3*100

oj基础89

输入一串字符,其长度小于200,判断该串字符是否构成回文。

cpp 复制代码
#include <iostream>
#include <bits/stdc++.h>

using namespace std;

int main()
{
    string s;
    while(getline(cin,s)){
        string s_old=s;
        reverse(s.begin(),s.end());
        if(s==s_old){
            cout<<"Yes"<<endl;
        }else{
            cout<<"No"<<endl;

        }
    }
    return 0;
}

注意reverse函数返回类型是void,所以要先保存原s的副本,再翻转s,比较副本与翻转后的字符串,从而判断是否为回文。不能string snew=reverse...,这样会编译报错

oj基础90

对于一个字符串,编程找出其中的所有整数。例如,字符串"a12bc34d05",其中有整数12、34、5。

cpp 复制代码
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
    string line;
    while (getline(cin, line)) {
        vector<int> numbers;
        int i = 0;
        while (i < line.length()) {
            if (isdigit(line[i])) {
                string numStr = "";
                // 收集连续的数字
                while (i < line.length() && isdigit(line[i])) {
                    numStr += line[i];
                    i++;
                }
                // 转为整数(自动处理前导零)
                int num = stoi(numStr);
                numbers.push_back(num);
            } else {
                i++;
            }
        }

        // 输出:个数 + 所有整数
        cout << numbers.size();
        for (int num : numbers) {
            cout << " " << num;
        }
        cout << endl;
    }
    return 0;
}

oj基础91

国际乒联主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。明明就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,明明首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。 (注:11(21)分制,在一局比赛中,选手A先得到11(21)分且此时领先选手B 2分或2分以上时,则选手A赢得此局;若当双方打成10(20)平后,则先多得2分的一方为胜方,赢得此局。)

明明通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。一局比赛的开始比分为0比0。 比如现在有这么一份记录,(其中W表示明明获得一分,L表示明明的对手获得一分):

WWWWWWWWWWWWWWWWWWWWWWLW

在11分制下,此时比赛的结果是明明第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。

在21分制下,此时比赛结果是明明第一局21比0获胜,正在进行第二局,当前比分2比1。

再如有这么一份记录,(其中W表示明明获得一分,L表示明明的对手获得一分):

WLWLWLWLWLWLWLWLWLWLWLWLWL

在11分制下,此时比赛的结果是明明和对手打成13比13,这局比赛仍没有分出胜负,因为任何一方都没有领先其对手2分。

在21分制下,此时比赛的结果是明明和对手打成13比13,这局比赛仍在进行中。

由于明明参加过多年的比赛,比赛的数据量相当庞大,如果仅仅使用手工统计,在短时间内统计出结果对于明明来说是相当困难的。因此明明求助于你,希望你能写一个程序,帮助他快速地统计出结果来。

明明的问题可以归结为:给你一系列的比赛数据(WL形式),分别按照11分制和21分制的比赛规则进行统计,然后输出统计结果。

cpp 复制代码
#include <iostream>
#include <string>
#include <vector>
using namespace std;

// 模拟函数
vector<pair<int, int>> simulate(const string& s, int target) {
    vector<pair<int, int>> games;
    int a = 0, b = 0; // 当前局比分

    for (char c : s) {
        if (c == 'W') {
            a++;
        } else if (c == 'L') {
            b++;
        }

        // 判断是否赢了一局
        if ((a >= target || b >= target) && abs(a - b) >= 2) {
            games.push_back({a, b});
            a = 0;
            b = 0;
        }
    }

    // 如果还有未结束的局,也要输出
    if (a > 0 || b > 0) {
        games.push_back({a, b});
    }

    return games;
}

int main() {
    string line;
    bool firstCase = true;

    while (getline(cin, line)) {
        // 找 'E' ,截断
        size_t ePos = line.find('E');
        string valid = (ePos != string::npos) ? line.substr(0, ePos) : line;

        // 模拟 11 分制和 21 分制
        auto games11 = simulate(valid, 11);
        auto games21 = simulate(valid, 21);

        
        if (!firstCase) {
            cout << endl;
        }
        firstCase = false;

        // 输出 11 分制结果
        for (auto& game : games11) {
            cout << game.first << ":" << game.second << endl;
        }

        cout << endl;

        // 输出 21 分制结果
        for (auto& game : games21) {
            cout << game.first << ":" << game.second << endl;
        }
    }

    return 0;
}

翻译

P10

了解事物的运作原理,以及学习如何组装、拆卸或修理它们,是许多职业面临的重要挑战。维护工程师通常需要花费大量时间研读手册和文档,因为往往不可能将所有操作步骤都熟记于心。然而,增强现实(AR)可以直接在工人的视野中呈现指令,将其叠加显示。这不仅能提供更有效的培训,更重要的是,它允许受过较少培训的人员也能正确执行工作。

P11

如果需要人工支持,AR可以为物理任务的实时移动远程协作提供共享的视觉空间。采用这种方法,远程专家可以独立于本地用户的当前摄像头位置来探索现场,并通过空间注释进行交流,这些注释可以立即在AR视图中被本地用户看到。通过实时视觉跟踪和重建,可以实现这一点,从而消除了对环境进行准备或仪器化的需求。AR远程呈现结合了实时视频会议和远程场景探索的优势,将其整合为一个自然的协作界面。

P12

目前已经有各种各样的AR浏览器应用程序可供使用。这些应用程序旨在传递用户环境中感兴趣地点的相关信息,这些信息叠加在设备摄像头的实时视频之上。感兴趣地点要么以地理坐标给出并通过手机传感器(GPS、指南针读数)识别,要么通过图像识别来识别。AR浏览器有明显的局限性,例如GPS精度可能较差,且增强功能仅针对单个点而非完整物体。尽管如此,得益于智能手机的普及,这些应用程序随处可见,且由于AR浏览器内置的社交网络功能,其使用率正在增长。图12B-2显示了AR浏览器Yelp Monocle,它集成在社交商务评论应用Yelp中。

单词 100*3组

相关推荐
feng_you_ying_li1 小时前
data类的实现
c++
yyjtx1 小时前
DHU上机打卡D28
开发语言·c++·算法
楼田莉子1 小时前
CMake学习:CMake在二进制工程场景上应用
linux·c++·vscode·学习·软件构建
专注VB编程开发20年2 小时前
C#,VB.NET如何用GPU进行大量计算,提高效率?
开发语言·c#·.net
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧2 小时前
Jsoup: 一款Java的HTML解析器
java·开发语言·前端·后端·缓存·html
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧2 小时前
JSP, MVC, El, JSTL, MAC
java·开发语言·mvc·mac·jsp
黎雁·泠崖2 小时前
Java 数据结构与算法:时间空间复杂度 从入门到实战全解
java·开发语言
俩娃妈教编程2 小时前
2025 年 06 月 三级真题(1)--分糖果
c++·算法·gesp真题
tankeven2 小时前
HJ97 记负均正
c++·算法