时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

A string s is LUCKY if and only if the number of different characters in s is a fibonacci number. Given a string consisting of only lower case letters, output all its lucky non-empty substrings in lexicographical order. Same substrings should be printed once.

输入

A string consisting no more than 100 lower case letters.

输出

Output the lucky substrings in lexicographical order, one per line. Same substrings should be printed once.

样例输入

aabcd

样例输出

a
aa
aab
aabc
ab
abc
b
bc
bcd
c
cd
d
import java.util.HashSet;
import java.util.Scanner;
import java.util.TreeSet; public class Main {
public static HashSet<Integer> fibsetHashSet;
static{
fibsetHashSet= new HashSet<Integer>();
fibsetHashSet.add(0);
fibsetHashSet.add(1);
fibsetHashSet.add(2);
fibsetHashSet.add(3);
fibsetHashSet.add(5);
fibsetHashSet.add(8);
fibsetHashSet.add(13);
fibsetHashSet.add(21);
fibsetHashSet.add(34);
fibsetHashSet.add(55);
fibsetHashSet.add(89);
}
public static boolean isFib(String sub){ int count[]=new int[26]; //全是零 if(sub.length()==0)return false; for(int i=0; i<sub.length(); i++){
char a=sub.charAt(i);
count[a-'a']+=1;
}
int diff=0;
for( int i=0; i<26; ++i){
if(count[i]!=0)++diff;
} for( int i=0; i<26; ++i){
if(!fibsetHashSet.contains(diff))return false; //如果不符合
}
return true;
}
public static void main(String args[]){
Scanner scanner=new Scanner(System.in);
String string=scanner.next();
//String string="aabcd";
TreeSet<String> set = new TreeSet<String>(); int len=string.length();
for(int i=0; i<len; i++){
for(int j=i+1; j<=len; j++){
String subString=string.substring(i, j);
if(isFib(subString)){
set.add(subString);
}
}
}
for(String key: set){
System.out.println(key);
}
//System.out.println(set);
}
}

最新文章

  1. GitLab CI持续集成配置方案(补)
  2. Spring AOP详解
  3. Standard Error of Mean(s.e.m.)
  4. Python基础-列表_元组_字典_集合
  5. django admin中保存添加的数据提示need string or buffer, int found
  6. 微软CRM解决医药企业串货之痛
  7. Java Notes
  8. plupload+struts2实现文件上传下载
  9. beaglebone-black 在Angstrom系统中的网络配置方法
  10. Java和C++的不同
  11. 开源RPC(gRPC/Thrift)框架性能评测
  12. CDNI - RFC 6707 翻译
  13. JS常见的小代码
  14. ABPIAbpSession
  15. oracle在exp导出时报错PLS-00201: identifier &#39;EXFSYS.DBMS_EXPFIL_DEPASEXP&#39; must be declared
  16. 【转】头部属性 Meta http-equiv 大全
  17. Lua程序设计(三)面向对象实现一个简单的类
  18. C#编程(七十二)----------DynamicObject和ExpandoObject
  19. Android(java)同步方法synchronized
  20. 使 Inno Setup 打包出的安装程序以管理员身份运行

热门文章

  1. 前端中 width 的获取
  2. Intent创建Activity
  3. Vue + Webpack + Vue-loader 系列教程
  4. MongoDB 聚合Group(一)
  5. Eclipse常用小知识汇总
  6. Thread.Join(int millisecondsTimeout)
  7. [Erlang危机](4.1)作业控制模式
  8. MySql中LongText字段对应Hibernate映射文件的设置(转)
  9. github 丢失的本地提交
  10. hive数据类型转换、字符串函数、条件判断