7-134 敲笨钟

简介: 7-134 敲笨钟

7-134 敲笨钟 (20 分)


微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。


现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。


输入格式:


输入首先在第一行给出一个不超过 20 的正整数 N。随后 N 行,每行用汉语拼音给出一句古诗词,分上下两半句,用逗号 , 分隔,句号 . 结尾。相邻两字的拼音之间用一个空格分隔。题目保证每个字的拼音不超过 6 个字符,每行字符的总长度不超过 100,并且下半句诗至少有 3 个字。


输出格式:


对每一行诗句,判断其是否压“ong”韵。即上下两句末尾的字都是“ong”结尾。如果是压此韵的,就按题面方法糟改之后输出,输出格式同输入;否则输出 Skipped,即跳过此句。


输入样例:


5
xun zhang zhai ju lao diao chong, xiao yue dang lian gua yu gong.
tian sheng wo cai bi you yong, qian jin san jin huan fu lai.
xue zhui rou zhi leng wei rong, an xiao chen jing shu wei long.
zuo ye xing chen zuo ye feng, hua lou xi pan gui tang dong.
ren xian gui hua luo, ye jing chun shan kong.


结尾无空行


输出样例:


xun zhang zhai ju lao diao chong, xiao yue dang lian qiao ben zhong.
Skipped
xue zhui rou zhi leng wei rong, an xiao chen jing qiao ben zhong.
Skipped
Skipped


结尾无空行


方法一:


#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    getchar();
    while(n--){
        string s;
        getline(cin,s);
        int flag1=0,flag2=0,num=0,cnt=0;
        for(int i=0;i<s.size();i++){
            if(s[i]==',')
                if(s[i-1]=='g'&&s[i-2]=='n'&&s[i-3]=='o')
                    flag1=1;
            if(s[i]=='.')
                if(s[i-1]=='g'&&s[i-2]=='n'&&s[i-3]=='o')
                    flag2=1;
            if(s[i]==' ')num++;
        }
        num-=2;
        if(flag1&&flag2){
            for(int i=0;i<s.size();i++){
                cout<<s[i];
                if(s[i]==' ')cnt++;
                if(cnt==num){
                    cout<<"qiao ben zhong.\n";
                    break;
                }
            }
        }
        else cout<<"Skipped\n";
    }
    return 0;
}


方法二:


#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,i,k;
    cin>>n;
    getchar();
    string s,p="qiao ben zhong.";
    while(n--){
        getline(cin,s);
        if(s.find("ong,")!=-1&&s.find("ong.")!=-1){
            k=0;
            for(i=s.size()-1;i>=0;i--){
                if(s[i]==' ') k++;
                if(k==3) break;
            }
            for(k=0;k<=i;k++) cout<<s[k];
            cout<<p<<endl;
        }else cout<<"Skipped\n";
    }
    return 0;
}
目录
相关文章
|
Ubuntu
Ubuntu 20.04 安装 Fira Code 字体
Ubuntu 20.04 安装 Fira Code 字体
1425 0
|
存储 网络协议 安全
使用 NetCat 工具实现远程文件传输
NetCat(NC)是一个通过 TCP/UDP 在网络中进行读写数据工具,主要用于调式领域,传输领域甚至黑客攻击领域。利用 NetCat 工具,可以将网络中的完整数据发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体等功能。
763 0
使用 NetCat 工具实现远程文件传输
|
算法 Java Apache
运筹优化工具库介绍(二)
运筹优化工具库介绍
2180 0
|
2月前
|
弹性计算 API 对象存储
怎么给阿里云CDN配置多个源站?
为阿里云CDN配置多源站可显著提升业务高可用性,成本极低且操作简单。本文详解添加主备源站步骤,并推荐在高可用需求、动静分离、系统迁移等场景下使用,保障业务稳定运行。
|
7月前
|
XML 自然语言处理 文字识别
SmolDocling技术解析:2.56亿参数胜过70亿参数的轻量级文档处理模型
SmolDocling是由HuggingFace与IBM联合研发的超紧凑视觉模型,专为端到端文档转换设计。基于SmolVLM-256M开发,参数量仅2.56亿,却媲美大型模型性能。其核心创新在于DocTags格式,一种类XML标记语言,能全面表示文档内容与结构。SmolDocling通过端到端架构实现图像理解与文本生成整合,在文档分类、OCR、布局分析等任务中表现出色。评估显示,其在多项指标上优于大参数量模型,适用于资源受限场景,推动文档处理技术发展。
189 8
SmolDocling技术解析:2.56亿参数胜过70亿参数的轻量级文档处理模型
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
824 1
|
数据采集 数据可视化 搜索推荐
Python爬虫技术从去哪儿网获取旅游数据,对攻略进行可视化分析,提供全面的旅游攻略和个性化的出行建议
本文利用Python爬虫技术从去哪儿网获取旅游数据,通过数据处理和可视化分析,提供了全面的旅游攻略和个性化出行建议,同时探讨了热门目的地、出游方式、时间段以及玩法的偏好,为旅游行业和游客提供了有价值的参考信息。
978 9
|
存储 人工智能 Java
迭代加深搜索
迭代加深搜索(Iterative Deepening Search, IDS)是一种结合了广度优先搜索(BFS)和深度优先搜索(DFS)的搜索策略,它通过重复执行深度限制的深度优先搜索来实现。每次迭代,深度限制增加,直到达到目标节点或搜索空间耗尽。下面是 V 哥的一些理解,分享给大家
398 1
|
人工智能
西门子S7-300的硬件结构,各模块按照什么顺序来组态?
今天我们来介绍一下西门子S7-300的硬件结构,并和大家讲一下S7-300各模块是按照什么顺序来组态的。
西门子S7-300的硬件结构,各模块按照什么顺序来组态?
|
SQL 关系型数据库 数据库