蓝桥杯ADV-157——算法提高 现代诗如蚯蚓
2017-03-11 22:29
260 查看
算法提高 现代诗如蚯蚓
时间限制:1.0s 内存限制:256.0MB
问题描述
现代诗如蚯蚓
断成好几截都不会死
字符串断成好几截
有可能完全一样
请编写程序
输入字符串
输出该字符串最多能断成多少截完全一样的子串
输入格式
一行,一个字符串
输出格式
一行,一个正整数表示该字符串最多能断成的截数
样例输入
abcabcabcabc
样例输出
4
样例说明
最多能断成四个”abc”,也就是abc重复四遍便是原串
同时也能断成两个”abcabc”
最坏情况是断成一个原串”abcabcabcabc”
数据规模和约定
字符串长度<=1000
import java.util.Scanner;
/**
*
* @author hhit.soft141.xxf
* @date 2017-2-11
* 注释:本题和周期子串那题相似
*
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String string = scanner.next();
char[] charArray = string.toCharArray();
int state = 0;
for (int i = 1; i < charArray.length; i++) {
if (charArray[0] == charArray[i]) {
int len = i;
for (int j = i; j < charArray.length; j++) {
if (!(charArray[j] == charArray[j % len] && charArray.length % len == 0)) {
state = 1;
}
}
if (state == 0) {
System.out.println(charArray.length / len);
break;
}
if (state == 1 && i == charArray.length - 1) {
System.out.println("1");
break;
}
state = 0;
} else {
if (i == charArray.length - 1) {
System.out.println(1);
}
}
}
if (charArray.length == 1) {
System.out.println(1);
}
}
}
时间限制:1.0s 内存限制:256.0MB
问题描述
现代诗如蚯蚓
断成好几截都不会死
字符串断成好几截
有可能完全一样
请编写程序
输入字符串
输出该字符串最多能断成多少截完全一样的子串
输入格式
一行,一个字符串
输出格式
一行,一个正整数表示该字符串最多能断成的截数
样例输入
abcabcabcabc
样例输出
4
样例说明
最多能断成四个”abc”,也就是abc重复四遍便是原串
同时也能断成两个”abcabc”
最坏情况是断成一个原串”abcabcabcabc”
数据规模和约定
字符串长度<=1000
import java.util.Scanner;
/**
*
* @author hhit.soft141.xxf
* @date 2017-2-11
* 注释:本题和周期子串那题相似
*
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String string = scanner.next();
char[] charArray = string.toCharArray();
int state = 0;
for (int i = 1; i < charArray.length; i++) {
if (charArray[0] == charArray[i]) {
int len = i;
for (int j = i; j < charArray.length; j++) {
if (!(charArray[j] == charArray[j % len] && charArray.length % len == 0)) {
state = 1;
}
}
if (state == 0) {
System.out.println(charArray.length / len);
break;
}
if (state == 1 && i == charArray.length - 1) {
System.out.println("1");
break;
}
state = 0;
} else {
if (i == charArray.length - 1) {
System.out.println(1);
}
}
}
if (charArray.length == 1) {
System.out.println(1);
}
}
}
相关文章推荐
- 蓝桥杯 ADV-157算法提高 现代诗如蚯蚓
- 蓝桥杯 算法提高 现代诗如蚯蚓
- 蓝桥杯 算法提高 现代诗如蚯蚓
- 蓝桥杯 算法提高 现代诗如蚯蚓
- 蓝桥杯 ADV-81 算法提高 数的运算
- 蓝桥杯 ADV-109 算法提高 征税程序
- 蓝桥杯 ADV-158 算法提高 新建Microsoft Word文档
- 蓝桥杯 ADV-147 算法提高 学霸的迷宫
- 蓝桥杯 ADV-158 算法提高 新建Microsoft Word文档
- 蓝桥杯 ADV-212 算法提高 3-1课后习题2
- 蓝桥杯 ADV-223 算法提高 8-1因式分解
- 蓝桥杯 ADV-166 算法提高 聪明的美食家 java版
- 蓝桥杯 ADV-104算法提高 打水问题
- 蓝桥杯 ADV-136算法提高 大数加法
- 蓝桥杯 ADV-194算法提高 盾神与积木游戏(贪心)
- 蓝桥杯 ADV-214 算法提高 3-3求圆面积表面积体积
- 蓝桥杯 ADV-211 算法提高 2-2整数求和
- 蓝桥杯算法提高 ADV-197 大数乘法 题解
- 蓝桥杯 算法提高 7-1用宏求球的体积 ADV-221
- 蓝桥杯 ADV-82 算法提高 填充蛋糕