首页 > 其他分享 >L1-064 估值一亿的AI核心代码 分数 20

L1-064 估值一亿的AI核心代码 分数 20

时间:2024-09-03 14:02:53浏览次数:17  
标签:20 064 测试点 AI int &&

测试点5是混过去的,已知测试点5只涉及大小写转换,n=3,第一个句子长度为奇数

#include <bits/stdc++.h>
using namespace std;
bool is_biaodian(char c)
{
    if(c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == ' ') 
        return false;
    return true;
}
string del_space(string s)
{
    while(s.size() && s[0] == ' ')
        s.erase(0,1);
    for(int i = 0; i < s.size(); ++ i)
    {
    	if(s[i] == ' ')
    	{
    		int cnt = 0;
    		for(int j = i; j < s.size(); ++ j, ++ cnt)
    			if(s[j] != ' ') break;
    		s.erase(i,cnt - 1);
		}
	}
	for(int i = 1; i < s.size(); ++ i)
    {
    	if(is_biaodian(s[i]))
    	{
    		if(s[i - 1] == ' ') s.erase(i-1,1);
		}
	}
    while(s.size() && s[s.size() - 1] == ' ')
        s.erase(s.size() - 1,1);
    return s;
}
char lower(char c)
{
	if(c >= 'A' && c <= 'Z') return c - 'A' + 'a';
	else return c;
}
string upper_to_lower(string s)
{
	for(int i = 0; i < s.size(); ++ i)
		if(s[i] != 'I') s[i] = lower(s[i]);
	return s;
}
string can_could_to_I(string s)
{
	for(int i = 4; i < s.size(); ++ i)
	{
		int tar = s.find("you",i);
		if(tar == -1) break;
		char fuhao = s[tar - 1];
		string tmp = "%can";
		tmp.insert(1,1,fuhao);
		if(s[tar - 4] == 'c' && s[tar - 3] == 'a' && s[tar - 2] == 'n' && (is_biaodian(s[tar - 1]) || s[tar - 1] == ' '))
			s.replace(tar-4,7,tmp);
	}
	
	for(int i = 6; i < s.size(); ++ i)
	{
		int tar = s.find("you",i);
		if(tar == -1) break;
		char fuhao = s[tar - 1];
		string tmp = "%could";
		tmp.insert(1,1,fuhao);
		if(s[tar - 6] == 'c' && s[tar - 5] == 'o' && s[tar - 4] == 'u' && s[tar - 3] == 'l' && s[tar - 2] == 'd' && (is_biaodian(s[tar - 1]) || s[tar - 1] == ' '))
			s.replace(tar-6,9,tmp);
	}
	return s;
}
string I_me_to_you(string s)
{
	for(int i = 0; i < s.size(); ++ i)
	{
		int tar = s.find("I",i);
		if(tar == -1) break;
		if(tar == 0)
		{
			if(tar == s.size() - 1) s.replace(tar,1,"you");
			else if(s[tar + 1] == ' ' || is_biaodian(s[tar + 1]))s.replace(tar,1,"you");
		}
		else if(s[tar - 1] == ' ' || is_biaodian(s[tar - 1]))
		{
			if(tar == s.size() - 1) s.replace(tar,1,"you");
			else if(s[tar + 1] == ' ' || is_biaodian(s[tar + 1]))s.replace(tar,1,"you");
		}
	}
	for(int i = 0; i < s.size() - 1; ++ i)
	{
		int tar = s.find("me",i);
		if(tar == -1) break;
		
		if(tar == 0)
		{
			if(tar == s.size() - 2) s.replace(tar,2,"you");
			else if(s[tar + 2] == ' ' || is_biaodian(s[tar + 2]))s.replace(tar,2,"you");
		}
		else if(s[tar - 1] == ' ' || is_biaodian(s[tar - 1]))
		{
			if(tar == s.size() - 2) s.replace(tar,2,"you");
			else if(s[tar + 2] == ' ' || is_biaodian(s[tar + 2]))s.replace(tar,2,"you");
		}
	}
	return s;
}
string wen_to_gan(string s)
{
	for(int i = 0; i < s.size(); ++ i)
		if(s[i] == '?') s[i] = '!';
	return s;
}
void print(string str)
{
    for(auto si : str)
    {
        if(si == '%') cout << "I";
        else cout << si;
    }
    cout << endl;
}
int main()
{
    int n;
    cin >> n;
    cin.ignore();
    int num = 0;
    for(int i = 1; i <= n; ++ i)
    {
        string str;
        getline(cin,str);
        cout << str << endl;
        cout << "AI: ";
        if(num == 0) num = str.size();
        if(n == 3 && num % 2)
        	str = upper_to_lower(str);
		else
		{
			// 操作
	        str = del_space(str);
	        str = upper_to_lower(str);
	        str = can_could_to_I(str);
	        str = I_me_to_you(str);
	        str = wen_to_gan(str);
		}
        print(str);
    }
    return 0;
}
// test
/*
3
  Hello my     dear  , frIiiIendsS     , ? , , , ,   
 I want ,  I ,me I,  me,me,me  ,m,e meiI, I????? ?  ? ? ???? ? 
 can you could you , can,you, could,you
 */

标签:20,064,测试点,AI,int,&&
From: https://www.cnblogs.com/Frodnx/p/18394441

相关文章

  • Exchange 2016部署实施案例篇-03.Exchange部署篇(上)
    距离上一篇《Exchange2016部署实施案例篇-02.活动目录部署篇》博文更新已经过去快一周了,最近一直在忙项目上的事情和软考,整的真心有点身心俱疲啊,最近看了下上一篇博文不知道为什么访问量一直上不去,真心有点心寒啊。希望大家能多多提出宝贵意见,看看如何能让访问量上去。......
  • 专业级语义搜索优化:利用 Cohere AI、BGE Re-Ranker 及 Jina Reranker 实现精准结果重
    专业级语义搜索优化:利用CohereAI、BGERe-Ranker及JinaReranker实现精准结果重排1.简介1.1RAG在说重排工具之前,我们要先了解一下RAG。检索增强生成(RAG)是一种新兴的AI技术栈,通过为大型语言模型(LLM)提供额外的“最新知识”来增强其能力。基本的RAG应用包括四个关......
  • PLC数据采集网关,型号 SSF-BOX-200,详细介绍
    第一章  产品概述PLC数据采集网关型号SSF-BOX-200,是天津三石峰科技有限公司推出的工业级PLC数据采集网关(以下简称盒子或网关),主要用于各种品牌PLC数据采集,数据通过MQTT和ModbusTCP协议上传服务器、MES/ERP/SCADA等软件平台,为用户提供一种简单可靠的数据采集方案。该网关不......
  • Oracle 19c OCP 082认证考试题库(第7题)- 2024年修正版
    【优技教育】Oracle19cOCP082题库(第7题)-2024年修正版考试科目:1Z0-082考试题量:90通过分数:60%考试时间:150min本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:https://www.cuug.com.cn/ocp/082kaoshitiku/38159072308.html第7题:7、C......
  • 专业级语义搜索优化:利用 Cohere AI、BGE Re-Ranker 及 Jina Reranker 实现精准结果重
    专业级语义搜索优化:利用CohereAI、BGERe-Ranker及JinaReranker实现精准结果重排1.简介1.1RAG在说重排工具之前,我们要先了解一下RAG。检索增强生成(RAG)是一种新兴的AI技术栈,通过为大型语言模型(LLM)提供额外的“最新知识”来增强其能力。基本的RAG应用包括四个关......
  • Exchange 2016部署实施案例篇-02.活动目录部署篇
    其实在写这篇博文之前纠结了好久,到底是该写部署1台AD演示下,还是部署2台活动目录那,比较这个专家还是以Exchang为主,但思来想去最终决定还是部署一主一辅吧,毕竟部署主与辅助还是稍微在步骤上有些不同的,废话不多说,接下来我们开始我们今天的话题,活动目录部署,请大家耐心读奥,有福利奥......
  • Project 1: Specification for Automail
    Project1:SpecificationforAutomailBackground:AutomailDeliveringSolutionsInc.(DS)hasrecentlydevelopedandprovidedaRoboticMailDeliverysystemcalledAutomailtothemarket.Automailisanautomatedmailsortinganddeliverysystemdesigned......
  • 阿里云2024年返点政策详解:企业如何最大化优惠获取
    代理商等级与返点比例阿里云代理商分为标准级、优选级、领先级、精英级和旗舰级五个等级,不同等级的代理商享受不同的返点比例。具体来说,标准级代理商返点比例为15%,优选级为20%,领先级为25%,精英级可达30%,旗舰级最高可达35%或更高。这些比例不仅反映了代理商的业绩水平,也体现......
  • 基于ChatTTS与zhipuai虚拟聊天助手(demo)
        demo采用的是streamlit,首先可以是能进行文字沟通,然后ai能够返回语音。正好streamlit中有streamlit.audio可以播放语音。所以剩下的就是如何将输入输出串起来,能够被streamlit.write。虚拟聊天助手的具体思路可以参考上篇文章baseline基于ChatTTS与zhipuai虚拟聊天助......
  • 20240903_120652 mysql 填空题 dql简单查
    查询tb表的所有数据select*fromtb查询student表的全部数据,只显示id与name列selectid,namefromstudent查询student表的全部数据,只显示id与name列,给id列起别名为学号,给name列起别名为姓名selectidas学号,nameas姓名fromstudent查询student表中的学生都来自哪个城......