相似度计算 第33次CCF-CSP计算机软件能力认证

news/2025/4/2 5:39:49/

https://www.acwing.com/problem/content/5723/

注意点:

1.集合去重单词

2.getline()最后回车需要忽视

3.一些bulit in函数 如下:

字符转小写
#include <cctype>
tolower(ch)

字符串转小写
#include <algorithm>
transform(str.begin(), str.end(), str.begin(), ::tolower)

字符串提取单词
#include <sstream>
string sentence = "This is a test string.";
istringstream iss(sentence);  // 构造输入流
string word;
vector<string> words;
while (iss >> word) {
        words.push_back(word);  // 提取每个单词
}

寻找自定义分隔符
size_t start = 0, end;
while ((end = sentence.find(' ', start)) != std::string::npos) {
        words.push_back(sentence.substr(start, end - start));
        start = end + 1;
    }
words.push_back(sentence.substr(start));  // 最后一个单词

#集合取交集并集
#include <algorithm>
set<int> result;
set_union(set1.begin(), set1.end(),
                   set2.begin(), set2.end(),
                   inserter(result, result.begin()));
set_intersection(set1.begin(), set1.end(),
                          set2.begin(), set2.end(),
                          inserter(result, result.begin()));
set_difference()(差集)

vector寻找元素
find(words2.begin(),words2.end(),word)!=words2.end()


Accept代码:

#include<iostream>
#include<string>
#include<set>
#include<sstream>
#include <algorithm>
#include<vector>
using namespace std;
int n, m;
string transfer(string s) {string result;for (char c : s) {if (c >= 'A' && c <= 'Z') {result += (char)(c - 'A' + 'a');  // 转成小写}else {result += c;  // 小写字母或其他字符原样加}}return result;
}int main() {//初始化string s1, s2;vector<string> words1, words2;string word;set<string> u,u1,u2;//并集//输入流cin >> n >> m;cin.ignore();getline(cin, s1);getline(cin, s2);istringstream iss1(s1);istringstream iss2(s2);while (iss1 >> word) {word = transfer(word);words1.push_back(word);}while (iss2 >> word) {word = transfer(word);words2.push_back(word);}//解决问题for (string word : words1) {u1.insert(word);u.insert(word);}for (string word : words2) {u2.insert(word);u.insert(word);}int ii = 0, uu = u.size();for (string word : u1) {if (u2.find(word) != u2.end()) {ii++;}}cout << ii << endl;cout << uu;return 0;
}


http://www.ppmy.cn/news/1584539.html

相关文章

C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)

前言 C#/.NET/.NET Core技术前沿周刊&#xff0c;你的每周技术指南针&#xff01;记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿&#xff0c;助力技术成长与视野拓宽。 欢迎投稿、推荐…

电气、电子信息与通信工程的探索与应用

从传统定义来看&#xff0c;电气工程是现代科技领域的核心学科和关键学科。它涵盖了创造产生电气与电子系统的有关学科的总和。然而&#xff0c;随着科学技术的飞速发展&#xff0c;电气工程的概念已经远超出这一范畴。 电子信息工程则是将电子技术、通信技术、计算机技术等应…

bit计算机考研复试机试模拟题

1、输入一个字母&#xff08;大写或者小写&#xff09;&#xff0c;和一个整数n&#xff0c;输出一个‘Z’字型。如果输出过程中到达z或Z&#xff0c;要从a或A继续输出&#xff0c;即实现循环。 例如 示例一&#xff1a; 输入c 4 (‘z’字型的高度和宽度都是n) 输出如下&am…

16-CSS3新增选择器

知识目标 掌握属性选择器的使用掌握关系选择器的使用掌握结构化伪类选择器的使用掌握伪元素选择器的使用 如何减少文档内class属性和id属性的定义&#xff0c;使文档变得更加简洁&#xff1f; 可以通过属性选择器、关系选择器、结构化伪类选择器、伪元素选择器。 1. 属性选择…

31天Python入门——第14天:异常处理

你好&#xff0c;我是安然无虞。 文章目录 异常处理1. Python异常2. 异常捕获try-except语句捕获所有的异常信息获取异常对象finally块 3. raise语句4. 自定义异常5. 函数调用里面产生的异常补充练习 异常处理 1. Python异常 Python异常指的是在程序执行过程中发生的错误或异…

AWS Bedrock 多代理蓝图存储库使用 CDK、Streamlit 和 LangFuse 运行 AWS Bedrock 多代理 AI 协作的蓝图

一、软件下载 文末提供程序和源码下载 AWS Bedrock 多代理蓝图开源程序&#xff01;是一个全面基础设施即代码 &#xff08;IaC&#xff09; 解决方案&#xff0c;用于使用 CDK、Streamlit 和 LangFuse 在 AWS 上运行多代理 AI 协作。无论您是经验丰富的开发人员还是刚刚开始使…

Cursor 使用 APIkey 配置 Anthropic Claude BaseURL , gpt-4o,deepseek等大模型代理指南

背景 Cursor IDE 原生仅支持配置 ChatGPT 的 API Base URL&#xff0c;无法直接集成 ​Anthropic Claude 的 API 服务。 解决方案 本文将通过以下方式实现 Cursor 集成 Claude API&#xff1a; ✅ 构建中转 API 桥接层 ✅ 配置自定义 API 端点 ✅ 实现协议格式转换 前置条件…

瑞芯微RKRGA(librga)Buffer API 分析

一、Buffer API 简介 在瑞芯微官方的 librga 库的手册中&#xff0c;有两组配置 buffer 的API&#xff1a; importbuffer 方式&#xff1a; importbuffer_virtualaddr importbuffer_physicaladdr importbuffer_fd wrapbuffer 方式&#xff1a; wrapbuffer_virtualaddr wrapb…