ZOJ 3818 Pretty Poem(暴力求解)
来源:互联网 发布:最新金融网络投资 编辑:程序博客网 时间:2024/06/05 07:30
题意:
给定一个字符串,问这个字符串能否组成 ABABA 或者 ABABCAB的形式。注意: A,B,C互不相同。
解析:
由于字符串的长度只有50,所以可以直接暴力枚举,A和B的长度肯定不能超过len/2,
对于 ABABA的情况可以直接枚举 A和B,判断是否满足条件。
对于 ABABCAB的情况可以通过枚举A和B求出C,然后判断是否满足条件。
AC代码
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <string>using namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;string A, B, C;bool judge(string str) { int len = str.size(); string ret, AB; for(int i = 1; i < len/2; i++) { for(int j = 1; j < len/2; j++) { A = str.substr(0, i); B = str.substr(i, j); if(A == B) continue; AB = A+B; ret = AB + AB + A; if(ret == str) return true; } } for(int i = 1; i < len/2; i++) { for(int j = 1; j < len/2; j++) { A = str.substr(0, i); B = str.substr(i, j); if(A == B || (i+j)*3 >= len) continue; int posc = 2*(i+j); int lenc = len - 3*(i+j); C = str.substr(posc, lenc); if(A == C || B == C) continue; AB = A+B; ret = AB + AB + C + AB; if(ret == str) return true; } } return false;}char buf[100];int main() { string str; int T; scanf("%d", &T); getchar(); while(T--) { gets(buf); int len = strlen(buf); str = ""; for(int i = 0; i < len; i++) if((buf[i] >= 'a' && buf[i] <= 'z') || (buf[i] >= 'A' && buf[i] <= 'Z')) str += buf[i]; printf("%s\n", judge(str) ? "Yes" : "No"); } return 0;}
0 0
- ZOJ 3818 Pretty Poem(暴力求解)
- ZOJ - 3818 Pretty Poem 暴力
- ZOJ 3818 Pretty Poem(暴力)牡丹江网赛
- zoj 3818 Pretty Poem(暴力枚举)
- ZOJ 3813 Pretty Poem (暴力)
- ZOJ - 3818 Pretty Poem
- zoj 3818 Pretty Poem
- ZOJ 3818 Pretty Poem
- zoj 3818 Pretty Poem
- ZOJ 3818 Pretty Poem
- ZJU 3818 - Pretty Poem(暴力枚举)
- zoj 3818 Pretty Poem (模拟)
- ZOJ 3818 Pretty Poem (暴力模拟 string(substr))
- ZOJ3818--Pretty Poem(暴力)
- zoj 3818 Pretty Poem(暴力处理字符串)2014年牡丹江赛区网络赛
- ZOJ 3818 Pretty Poem 字符串
- ZOJ 3818 Pretty Poem 字符串
- zoj 3818 Pretty Poem(模拟)
- linux虚拟文件系统
- 运行DevExtreme项目,报错“Local web server executable is not found”
- 深入Tomcat学习之server.xml详解
- 总体规划--大数据
- hdu 4498 自适应simpson
- ZOJ 3818 Pretty Poem(暴力求解)
- Android edittext使用自定义键盘时禁用系统软键盘但却不禁用光标
- HM调试成功————二
- 黑马程序员——05C语言语法和mac基本快捷键使用
- 复习一下快忘记了的进制转换
- [NFC]简单介绍
- [一起学Node.js][001话] Express MongoDB搭建多人博客
- volatile
- From CS50