news 2026/5/1 0:47:47

“传智杯”第六届河南省高校新生程序设计大赛热身赛-赛后总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
“传智杯”第六届河南省高校新生程序设计大赛热身赛-赛后总结

这次比赛共有六道题前两道门槛,中间两道热身,后两道上强度,我也没做出来后两道。

链接:https://www.nowcoder.com/acm/contest/125494

白与黑的智慧

这道题我利用STL容器中的键值<key,value>对来存储加密关系,学习了“.count()”函数,用来查找键值对中的key。但是我写的代码有缺陷只存储了案例中的加密关系,非案例的无法读取。但是我明明设置了检验如果找不到就会返回-1,却没有成功使用。~-~

#include<bits/stdc++.h>
using namespace std;
int main(){
string s1,t2,t1;
cin >> s1 >> t1 >> t2;

unordered_map<char,char>map;//原始字符->加密字符
unordered_map<char,char>revmap;//加密字符->原始字符

for(int i = 0;i < s1.length();i++)
{
char s = s1[i];
char t = t1[i];

if(map.count(s) && map[s] != t)
{
cout << -1 << endl;
return 0;
}

if(revmap.count(t) && revmap[t] != s)
{
cout << -1 << endl;
return 0;
}

map[s] = t;
revmap[t] = s;

cout << map[s] << " -> " << revmap[t] <<endl;
}

string s2 = "";
int k = 1;
for(char c : t2){
if(revmap.count(c)){
s2 += revmap[c];
}else{
k = -k;
}
}
if(k == 1){ cout << s2 << endl; }
else{ cout << "-1" <<endl;}
return 0;
}

小A的农田

这道题我原来想用string字符串记录第二行数据;然后遍历字符,将非空格的字符存入我定义的a[i][j]二维数组,遇到空格就i++并重置j=0;但是不知道为什么存不进去。

没办法,问了AI后改用容器,并初始化矩阵为X,再用遍历填充矩阵,以下为AI给后的代码(有bug,还未完成排序部分)

#include<bits/stdc++.h>
using namespace std;

bool compare(const string &a,const string &b)
{
if(a.length() != b.length())
{ return true; }
if(a.length() > b.length())
{ return false; }

return a < b;
}


int main(){
int n;
cin >> n;
vector<string>rows(n);
for(int i = 0 ; i < n ; i++){cin >> rows[i];}

//排序
sort(rows.begin(),rows.end(),compare);

//初始化矩阵为X
vector<vector<char>>field(n,vector<char>(n,'X'));

//填充矩阵
for(int i = 0 ; i < n ; i++)
{
string row = rows[i];
for(int j = 0 ; j < row.size() ; j++)
{field[i][j] = row[j];}
}

//输出矩阵
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < n ; j++){
cout << field[i][j];
}
cout << endl;
}
return 0;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 22:34:58

Jina AI “Late-Chunking“如何解决RAG的文档分块困境

摘要 文档分块(Chunking)是构建检索增强生成(RAG)系统中最基础、也最棘手的一环。长久以来,开发者们一直在“小分块(有利于检索精度)”和“大分块(有利于上下文完整性)”这对根本矛盾中艰难权衡。传统的固定大小、递归字符、甚至语义分块策略,都只是在这一矛盾体上寻…

作者头像 李华
网站建设 2026/4/19 22:21:33

第一章——办公自动化之邮件批量发送:高效沟通,一键搞定

在日常工作中&#xff0c;我们常常需要向多个收件人发送邮件&#xff0c;例如通知会议、汇报工作进展、分享文件等。如果采用手工逐个发送的方式&#xff0c;不仅耗时费力&#xff0c;而且容易出现遗漏收件人、内容不一致等问题。本部分将带领大家利用Python实现邮件的批量发送…

作者头像 李华
网站建设 2026/4/22 3:19:33

36、Python命令行工具的高级用法与设计模式

Python命令行工具的高级用法与设计模式 1. 多参数选项的使用模式 在Python中, optparse 模块默认情况下,一个选项只能接受一个参数,但我们可以通过设置来改变这个数量。下面是一个示例,实现了一个类似 ls 命令的功能,能够同时显示两个目录的内容。 示例代码 #!/u…

作者头像 李华
网站建设 2026/4/29 22:55:44

Creed —— 血液特效与敌人伤害

目录 一&#xff0c;导入或迁移血液特效 二&#xff0c;触发血液特效 三&#xff0c;创建Dummy UI 四&#xff0c;设置BP_Dummy蓝图 一&#xff0c;导入或迁移血液特效 二&#xff0c;触发血液特效 当角色收到伤害时&#xff0c;生成血液特效&#xff1b; Spawn Emitter a…

作者头像 李华
网站建设 2026/4/25 13:35:30

快速排序:双指针快排

一、双指针快排 核心步骤&#xff1a; 数组分区选择分区后的第一个元素作为锚点左指针/右指针分别在分区后的数组中&#xff0c;选择大于和小于锚点的数据。找到后交换位置最终左右指针在遍历过程中会碰头&#xff08;下标相同&#xff09;&#xff0c;此时把分区后的锚点数据&…

作者头像 李华