模拟只会猜题意 SRM 10

描述

有一本n个单词的词典,求按下列方法能造出的不相同的词汇数目。 
1.词典中的单词是一个词。
2.能分为两部分的,其中前一部分是一个词典词或者其非空前缀,后一部分是一个词典词或者其非空后缀的词。

输入格式

第一行一个整数n,接下来n行每行一个字符串,表示单词

输出格式

一个整数,答案

样例输入

3
a
ab
bc

样例输出

20

数据范围与约定

对10%的数据,n=1
对另外40%的数据,1<=n<=10,单词只含字符'a'
对所有的数据,1<=n<=10,单词长度<=10,单词只含小写字母

样例解释

可以造出以下单词:
a,ab,aab,ac,abc,aa
abb,abab,abbc,aba
bb,bab,bc,bbc,ba
bcb,bcab,bcc,bcbc,bca

————————————————————————————

只是道水题却花了我将近两个钟QAQ

用string写很方便QAQ

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
const int M=1e7;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int n,ans,cnt[],sum;
string s[],c[M];
bool cmp(string a,string b){return a<b;}
int main()
{
n=read();
for(int i=;i<=n;i++) cin>>s[i],cnt[i]=s[i].length();
for(int i=;i<=n;i++) c[++sum]=s[i];
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
for(int l=;l<=cnt[i];l++)
for(int r=cnt[j]-;r>=;r--)
c[++sum]=s[i].substr(,l)+s[j].substr(r,cnt[j]-r);
sort(c+,c++sum,cmp);
ans=sum;
for(int i=;i<=sum;i++) if(c[i]==c[i-]) ans--;
printf("%d\n",ans);
return ;
}

汕头市队赛 SRM10 T1模拟只会猜题意的更多相关文章

  1. 汕头市队赛 SRM10 T1 贪心只能过样例

    贪心只能过样例 SRM 10 描述 给出n个数a[i](1<=a[i]<=n),问最多能把这些数分成几组,使得每个数a[i]所在的组至少有a[i]个数 输入格式 第一行一个整数n,接下来n ...

  2. 汕头市队赛 SRM10 dp只会看规律 && bzoj1766

    dp只会看规律 SRM 10 描述 平面上有n个点(xi,yi),用最少个数的底边在x轴上且面积为S的矩形覆盖这些点(在边界上也算覆盖) 输入格式 第一行两个整数n,S接下来n行每行两个整数xi,yi ...

  3. 汕头市队赛 SRM10 T3 数学上来先打表

    数学上来先打表 SRM 10 描述 给出 n个点(不同点之间有区别),求出满足下列条件的连边(双向边)方案:1.每条边连接两个不同的点,每两个点之间至多有一条边2.不存在三个点a,b,c使三个点间两两 ...

  4. 汕头市队赛 SRM14 T1 计算几何瞎暴力

    计算几何瞎暴力 (easy.pas/c/cpp) 128MB 1s 在平面上,给定起点和终点,有一面墙(看作线段)不能穿过,问从起点走到终点的最短路程. 输入格式 输入一行,包含8个用空格分隔的整数x ...

  5. 汕头市队赛 SRM1X T1

    木之本樱 背景 “西瓜是可以种在树上的!”——木之本樱 描述 空地上,一排排的西瓜树拔地而起. 魔法世界里,空地是无限大的.所有的树排成了n条直线,每条直线也是向左右两端无限延伸的. 由于自己姓木(之 ...

  6. loj514模拟只会猜题意

    果然是道模拟... 一开始想线段树 看了一眼数据范围:“这tm不是前缀和吗” 然后水过 #include<iostream> #include<cstdio> #include ...

  7. Loj514「LibreOJ β Round #2」模拟只会猜题意 - 模拟

    注意初始化即可. #include <bits/stdc++.h> using namespace std; ],a[],t1,t2,t3,t4; int main(){ memset(a ...

  8. LibreOJ #514. 「LibreOJ β Round #2」模拟只会猜题意

    内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 给定一个长度为 nnn 的序列 AAA . 定义 f(l,r)=∑i=lrAif(l,r ...

  9. 汕头市队赛 C KMP codeforces B. Image Preview

    汕头市队赛题目传送门 codeforces题目传送门 这道题我的做法是 尝试先往左走然后往右走 或者先往右走然后往左走 然后注意一下枚举顺序就okay啦 #include<cstdio> ...

随机推荐

  1. scrapy之分布式

    分布式爬虫 概念:多台机器上可以执行同一个爬虫程序,实现网站数据的分布爬取. 原生的scrapy是不可以实现分布式爬虫? a) 调度器无法共享 b) 管道无法共享 工具 scrapy-redis组件: ...

  2. APUE中对出错函数的封装

    // 输出至标准出错文件的出错处理函数static void err_doit(int, int, const char *, va_list); /* * Nonfatal error relate ...

  3. 字符串的输入问题 C++

    C++中,初学时最常用的输入字符的方式为cin,但是,cin是如何确定已经完成了字符串的输入了呢?由于不能通过键盘输入空字符("\0"),因此cin需要用别的方法来确定字符串的结尾 ...

  4. ASP.NET 使用 MySQL

    基本是通用的 C#与MySQL的交互, 先添加MySQL.Data.dll(位于MySQL安装目录下的Connector NET 8.0\Assemblies${version}目录下)引用, 之后代 ...

  5. Spark&Hive结合起来

    1.spark与Hive结合起来 前提:当你spark的版本是1.6.1的时候,你的Hive版本要1.2.1,用别的版本会有问题 我们在做的时候,Hive的版本很简单,我们只需要解压缩,告诉他Hive ...

  6. Pascal小游戏 贪吃蛇

    一段未完成的Pascal贪吃蛇 说这段代码未完成其实是没有源代码格式化,FP中一行最多只有255字符宽. uses crt; const screenwidth=50; screenheight=24 ...

  7. leetcode 【 Remove Duplicates from Sorted List II 】 python 实现

    题目: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct  ...

  8. Visual Studio使用技巧笔记(引用程序集自动复制dll到引用项目目录)

    copy /y $(TargetPath) $(SolutionDir)\[您项目引用dll文件的目录]\$(TargetFileName) 例如:copy /y $(TargetPath) $(So ...

  9. jenkins 连接服务器并运行脚本

    1.登录,在系统管理——节点管理——新增节点——配置从节点,添加远程工作目录,选择启动方式:通过JAVA WEB启动代理,添加JDK 2.在列表点节点,点launch下载插件,放到D:\JENKINS ...

  10. Windows后续处理工作

    1.远程桌面开启,应预先开启windows防火墙,并放行“远程桌面”(TCP 3389)端口,防止用户自行开启防火墙时操作错误. 2.防火墙高级安全-需放行ICMP 3.补丁更新,更新完重启 4.本地 ...