7-118 估值一亿的AI核心代码 (20 分)

简介: 7-118 估值一亿的AI核心代码 (20 分)

7-118 估值一亿的AI核心代码 (20 分)

fff228e619ce7ee066393c8af09ae5ea.jpg

以上图片来自新浪微博。


本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是:


  • 无论用户说什么,首先把对方说的话在一行中原样打印出来;
  • 消除原文中多余空格:把相邻单词间的多个空格换成 1 个空格,把行首尾的空格全部删掉,把标点符号前面的空格删掉;
  • 把原文中所有大写英文字母变成小写,除了 I
  • 把原文中所有独立的 can youcould you 对应地换成 I canI could—— 这里“独立”是指被空格或标点符号分隔开的单词;
  • 把原文中所有独立的 Ime 换成 you
  • 把原文中所有的问号 ? 换成惊叹号 !
  • 在一行中输出替换后的句子作为 AI 的回答。


输入格式:


输入首先在第一行给出不超过 10 的正整数 N,随后 N 行,每行给出一句不超过 1000 个字符的、以回车结尾的用户的对话,对话为非空字符串,仅包括字母、数字、空格、可见的半角标点符号。


输出格式:


按题面要求输出,每个 AI 的回答前要加上 AI: 和一个空格。


输入样例:


6
Hello ?
 Good to chat   with you
can   you speak Chinese?
Really?
Could you show me 5
What Is this prime? I,don 't know


输出样例:


Hello ?
AI: hello!
 Good to chat   with you
AI: good to chat with you
can   you speak Chinese?
AI: I can speak chinese!
Really?
AI: really!
Could you show me 5
AI: I could show you 5
What Is this prime? I,don 't know
AI: what Is this prime! you,don't know


19分代码


#include<bits/stdc++.h>
using namespace std;
int main(){
    int n; cin >> n,getchar();
    string s;
    vector<string>v;
    while (n--) {
        v.clear();
        getline(cin ,s);
        cout << s << endl << "AI: ";
        for (int i = 0; i < s.size(); i++) {
            if (isalnum(s[i]) && s[i] != 'I') {
                s[i] = tolower(s[i]);
            }
            else {
                s.insert(i ," ");
                i++;
            }
            if (s[i] == '?') s[i] = '!';
        }
        stringstream t(s);
        while (t >> s) v.push_back(s);
        for (int i = 0; i < v.size(); i++) {
            if (v[i] == "I" || v[i] == "me") v[i] = "you";
            if (v[i] == "can" && v[i + 1] == "you") v[i] = "I" ,v[i + 1] = "can";
            if (v[i] == "could" && v[i + 1] == "you") v[i] = "I" ,v[i + 1] = "could";
            if (!isalnum(v[i][0])) cout << v[i];
            else {
                if (i) cout << ' ';
                cout << v[i];
            }
        }
        cout << endl;
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int t;
string s;
vector<string>v;
int main() {
    cin >> t; getchar();
    while (t--) {
        v.clear();
        getline (cin ,s);
        cout << s << endl << "AI: ";
        int len = s.length();
        for (int i = 0;i < len; i++) {
            if (s[i] == '?') s[i] = '!';//将所有问号转换为省略号
            if (s[i] != 'I' && 'A' <= s[i] && s[i] <= 'Z') s[i] = (char)(s[i]+32);//除I外的大写字母全部变为小写
        } 
        for (int i = 0; i < len;) { 
            string tmp = "";
            if(s[i] == ' '){
                tmp = " ";
                while(i < len && s[i] == ' ')i++;//遇到连续的空格只存一个
            }
            else if (isalpha(s[i])) {
                while(i < len && isalpha(s[i]))tmp += s[i++];
            }
            else if (isdigit(s[i])) {
                while (i < len && isdigit(s[i]))tmp += s[i++];
            }
            else{
                tmp += s[i++];
                if (v.size() > 0 && v.back() == " ") v.pop_back();//删去字符前面的空格
            }
            if (tmp != " " || (!v.empty() && i != len)) v.push_back(tmp);//删去句首和句末的空格
        }
        for(int i = 0;i < v.size(); i++){
            if (v[i] == "I" || v[i] == "me") v[i] = "you";//所有I和me转换为you
            else if (v[i] == "you"){//遇到you时检测前一个是否为分隔符,前前个是否是"can"或"could"
                if (i < 2) continue;//小于2自然不行
                if (isdigit(v[i-1][0]) || isalpha(v[i-1][0])) continue;//数字和字母不行
                if (v[i-2] == "can") v[i-2] = "I" ,v[i] = "can";
                if (v[i-2] == "could") v[i-2] = "I",v[i] = "could";
            }
        }
        for(int i = 0; i < v.size(); i++) cout << v[i];//输出
        cout << endl;
    }//记得换行
    return 0;
}
目录
相关文章
|
1月前
|
人工智能 C++ iOS开发
ollama + qwen2.5-coder + VS Code + Continue 实现本地AI 辅助写代码
本文介绍在Apple M4 MacOS环境下搭建Ollama和qwen2.5-coder模型的过程。首先通过官网或Brew安装Ollama,然后下载qwen2.5-coder模型,可通过终端命令`ollama run qwen2.5-coder`启动模型进行测试。最后,在VS Code中安装Continue插件,并配置qwen2.5-coder模型用于代码开发辅助。
2296 5
|
11天前
|
人工智能 数据挖掘
AI长脑子了?LLM惊现人类脑叶结构并有数学代码分区,MIT大牛新作震惊学界!
麻省理工学院的一项新研究揭示了大型语言模型(LLM)内部概念空间的几何结构,与人脑类似。研究通过分析稀疏自编码器生成的高维向量,发现了概念空间在原子、大脑和星系三个层次上的独特结构,为理解LLM的内部机制提供了新视角。论文地址:https://arxiv.org/abs/2410.19750
55 12
|
1月前
|
人工智能 安全 JavaScript
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
Open Interpreter 是一个让语言模型运行代码的强大工具,提供了一个类似 ChatGPT 的界面,支持多种编程语言和丰富的功能。
87 7
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
|
18天前
|
人工智能 文字识别 API
OpenSearch & AI 开放平台,实现0代码图片搜索!
本文主要介绍了如何利用阿里云的 OpenSearch 和 AI 搜索开放平台来构建一个无需编写代码就能完成的图片搜索功能。
63 12
|
13天前
|
人工智能 搜索推荐 安全
数百名研发人员用通义灵码,33%新增代码由AI生成,信也科技研发模式焕新升级
目前,信也科技数百名研发人员正在使用通义灵码,周活跃用户占比70%,新增代码中有33%由通义灵码编写,整体研发效率提升了11%,真正实现了数百研发人员开发效能的全面提升。
|
27天前
|
机器学习/深度学习 人工智能 算法
【AI系统】AI 系统与程序代码关系
本文探讨了AI系统与程序代码之间的关系,通过PyTorch实现LeNet5神经网络模型为例,详细介绍了AI训练流程原理、网络模型构建方法、算子实现的系统问题以及AI系统执行的具体计算过程。文章不仅解释了神经网络的前向传播和反向传播机制,还深入分析了算子在AI框架中的作用及其底层实现,包括卷积层的具体计算和优化问题。此外,文章对比了使用PyTorch与直接使用cuDNN+CUDA编程实现神经网络模型的差异,强调了AI框架在提高开发效率、自动化内存管理和实现自动微分等方面的重要性。
34 1
|
28天前
|
人工智能 机器人 Shell
AI语音机器人安装方法 AI机器人安装代码
AI语音机器人安装方法 AI机器人安装代码
29 2
|
2月前
|
人工智能 开发者
|
1月前
|
机器学习/深度学习 数据采集 人工智能
揭秘AI:机器学习的魔法与代码
【10月更文挑战第33天】本文将带你走进AI的世界,了解机器学习的原理和应用。我们将通过Python代码示例,展示如何实现一个简单的线性回归模型。无论你是AI新手还是有经验的开发者,这篇文章都会给你带来新的启示。让我们一起探索AI的奥秘吧!
|
2月前
|
人工智能 机器人 API
【通义】AI视界|谷歌Q3财报:Gemini API六个月增长14倍,公司超25%的新代码由AI生成
本文内容由通义自动生成,涵盖谷歌Q3财报、马斯克xAI融资、九巨头联盟挑战英伟达、Meta加大AI投入及麻省理工研究LLM与人脑相似性等热点资讯。更多精彩内容,请访问通通知道。