博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
试题 H: 人物相关性分析 第十届蓝桥杯
阅读量:6883 次
发布时间:2019-06-27

本文共 1370 字,大约阅读时间需要 4 分钟。

试题 H: 人物相关性分析

时间限制: 1.0s 内存限制: 512.0MB 本题总分: 20
【问题描述】
小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice Bob有多少次同时出现。
更准确的说,小明定义 Alice Bob“同时出现”的意思是:在小说文本中 Alice Bob 之间不超过 K 个字符。
例如以下文本:
This is a story about Alice and Bob. Alice wants to send a private message to Bob.
假设 K = 20,则 Alice Bob 同时出现了 2 次,分别是”Alice and Bob””Bob. Alice”。前者 Alice Bob 之间有 5 个字符,后者有 2 个字符。
注意:
1. Alice Bob 是大小写敏感的, alice bob 等并不计算在内。
2. Alice Bob 应为单独的单词,前后可以有标点符号和空格,但是不能有字母。例如 Bobbi 並不算出现了 Bob
【输入格式】
第一行包含一个整数 K
第二行包含一行字符串,只包含大小写字母、标点符号和空格。长度不超过 1000000
【输出格式】
输出一个整数,表示 Alice Bob 同时出现的次数。
【样例输入】
20
This is a story about Alice and Bob. Alice wants to send a private message to Bob.

【样例输出】

2
【评测用例规模与约定】
对于所有评测用例, 1 K 1000000

 

借鉴:

在Java的String类中有个用于分割字符串的方法split(String regex):String[],将此方法用于以空格.分割输入的字符串,然后枚举返回的String[],找到配对的Alice和Bob,还可以方便的统计每对组合间间隔的字符串长度。

import java.util.Scanner;public class Main{        public static void main(String[] args)  {        Scanner reader=new Scanner(System.in);        int res=0;    //save result        int K=reader.nextInt();        reader.nextLine();    //nextLine吸取回车键        String str=reader.nextLine();        String words[]=str.split("\\s+|\\.");    //以空格和.分割出来,注意.空格的组合存放为空字符串                //    Alice------>Bob        for(int i=0;i
Alice for(int i=0;i

 

转载于:https://www.cnblogs.com/chiweiming/p/10674087.html

你可能感兴趣的文章
UNIX网络编程——ICMP报文分析:端口不可达
查看>>
UNIX网络编程——客户/服务器程序设计示范(八)
查看>>
男生的长相到底有多重要?
查看>>
ubuntu18.04下安装mariaDB
查看>>
Java Object 对象上的wait(),notify(),notifyAll()方法理解
查看>>
性能测试的类型(负载/压力/并发/可靠性)
查看>>
js中的回调函数的理解和使用
查看>>
为什么要写博客
查看>>
灵活运用 SQL SERVER FOR XML PATH
查看>>
WPF创建单独资源库并在应用中引用
查看>>
面向对象的理解
查看>>
perl脚本备份还原sqlserver
查看>>
shell coding about mac ox
查看>>
SQL Server MySQL 中的 in 与 null
查看>>
python----脚本文件的头部写法。
查看>>
jQuery Ajax
查看>>
Cardboard虚拟现实开发初步(一)
查看>>
看懂JSP声明的格式。。。
查看>>
偶然看到网上有人对C和C++关系的概述
查看>>
链表的C语言实现之单链表的实现
查看>>