3311:满足下列情况的字符串AC,否则WA
1. there are only three distinct capital letters of the strings: Z, O, and J;
2. any string that is in the form xZOJxO is acceptable, where x is a string either empty or composed of O's only;
3. if aZbJc is acceptable, then aZbOJcO is acceptable, where a, b and c are all strings either empty or composed of O's only
Sample Input
ZOJO
OZOJOO
OZOOJOOO
OZOZOJOO
OOZOOJO
Sample Output
Accepted
Accepted
Accepted
Wrong Answer
Wrong Answer
思路:字符串拆分,统计前中后三部分个数。
注意Z和J的个数判断以及顺序判断。
一开始没判断顺序WA了好久。%>_<%
#include<iostream>
using namespace std;
#include<string.h>
#include<string>
string str;
int main()
{
bool isAC;
string left;
string top;
string mid;
string end;
while(cin>>str)
{
isAC = true;
if(str.find("Z")!=string::npos)
{
left = str.substr(str.find("Z")+1,str.length());
if(left.find("Z")!=string::npos)
isAC = false;
}
else
isAC=false;
if(str.find("J")!=string::npos)
{
left = str.substr(str.find("J")+1,str.length());
if(left.find("J")!=string::npos)
isAC = false;
}
else
isAC=false;
//J come before Z
if(str.find("J")<str.find("Z"))
isAC=false;
if(isAC)
{
top = str.substr(0,str.find("Z"));
mid = str.substr(str.find("Z")+1,str.find("J")-str.find("Z")-1);
end = str.substr(str.find("J")+1,str.length());
if(!(end.length()-top.length()==mid.length()&&mid.length()>=1))
isAC = false;
}
if(isAC)
cout<<"Accepted"<<endl;
else
cout<<"Wrong Answer"<<endl;
}
}
分享到:
相关推荐
训练时发现的好题目。#include #include int main() { char ch; char str[100]; while(gets(str)) { if(str[0] == 'E') return 0; int z = 0, o = 0, j = 0, i = 0; while(str[i] !...}
8. **Word Reversal 1151** - 词汇逆序可能涉及到字符串操作,如双指针技术或栈的使用,用于实现字符串的反转。 9. **Inversion 1201** - 逆序计数通常与排序算法相关,可能需要用到归并排序或快速排序中的逆序对...
ZOJ 1140 可能是一道要求解决特定问题的编程题,比如字符串处理、排序、图论、数学计算等。在竞赛编程中,这类题目通常设定了一些输入和输出格式,参赛者需要编写程序以满足这些条件。由于这是“简单题”的一部分,...
4. **字符串处理**:KMP算法、Boyer-Moore算法、Rabin-Karp算法等字符串匹配方法,以及模式匹配、文本处理等相关问题。 5. **递归与分治**:如Fibonacci数列、Strassen矩阵乘法等。 6. **编码技巧**:如何有效地...
【压缩包子文件的文件名称列表】:"zoj1027 求串相似度.cpp" 这个文件名揭示了ZOJ1027题目的核心内容可能涉及到字符串的相似度计算。在算法竞赛中,字符串处理是一个常见的主题,可能涉及到的操作包括但不限于编辑...
知识点:字符串处理、字符串操作、字符操作。 4. ZOJ Problem Set – 1048 Financial Management 该题目主要考察了数据结构和算法设计能力,要求解决 Financial Management 问题。该问题的解决需要对数据结构和...
5. **字符串处理**:字符串操作在编程竞赛中常见,如KMP算法、Rabin-Karp字符串匹配、后缀自动机等。掌握这些算法可以帮助解决涉及到字符串处理的难题。 6. **数据结构**:链表、树、栈、队列、哈希表等基本数据...
字符串处理题目主要考察选手对于字符串相关算法的理解和应用能力,包括但不限于字符串搜索、模式匹配、字符串压缩等。 **示例题目:** - **1002**: 基础的字符串操作,例如字符串反转。 - **1051**: 字符串匹配问题...
ZOJ 1002的具体内容未知,但常见的ACM题目类型包括但不限于:排序与查找、图论、动态规划、贪心算法、数学问题、字符串处理等。因此,这个C++程序可能涉及以上某一种或多种算法的组合。 C++语言在编程竞赛中广泛...
解决策略是使用字符串替换函数,将源字符串中的特定模式替换为目标字符串。 #### #2548 Course Registration System 题目涉及课程注册系统的实现,可能需要设计一个数据结构来存储和管理课程信息。解决策略是使用...
3. **字符串处理**:ZOJ题目中往往包含许多字符串处理问题,如模式匹配、字符串比较、最长公共子序列等。源代码会展示如何高效地操作字符串。 4. **数学知识**:部分题目可能需要运用到高等数学知识,如组合数学、...
- 使用字符串的 join() 方法和 ASCII 字母生成:`''.join(chr(i) for i in range(65, 91)) + ''.join(chr(i) for i in range(97, 123))` 5. **字符串居中** - 使用字符串的 center() 方法:`text.center(width)` ...
这类题目主要面向刚刚开始接触算法和编程的人群,内容包括但不限于基础逻辑思维训练、简单输入输出、基本的数学运算以及字符串操作等。通过这些基础题目,初学者可以逐渐熟悉编程环境,建立起编程的基本概念,并逐步...
6. **字符串处理**:KMP 算法、Rabin-Karp 算法、Manacher's 算法等,用于字符串匹配和模式查找,对文本分析和搜索引擎设计非常重要。 7. **数学计算**:模运算、线性同余方程、数论变换(如FFT)、矩阵快速幂等,...
这可能涉及到字符串处理,比如使用栈来处理逆波兰表示法(Reverse Polish Notation,RPN),或者使用递归下降解析等方法。如果`op(i, e)`是用来解析操作数,那么它可能包含以下步骤: 1. 分割表达式:将输入的字符...
其次,文件中的源代码还可能涉及字符串处理、动态规划、图论、数学问题的编程解法等。例如,动态规划在解决背包问题、最长公共子序列、最小编辑距离等问题上有着广泛的应用;图论则涉及到最短路径算法(Dijkstra算法...
"poj pku字符串题目推荐及解题报告.doc"专注于字符串处理,这是编程竞赛中常见的一类问题,包括模式匹配、KMP算法、Manacher's Algorithm等。 7. **ACM应掌握的知识点**: "ACM应掌握的知识点.doc"可能是对参加...
3. **字符串处理**:在ACM题目中,字符串处理是一个重要部分,涉及到模式匹配、最长公共前后缀、编辑距离等问题。KMP算法、Boyer-Moore算法和Rabin-Karp算法是字符串匹配中的常见算法。 4. **数学知识**:线性代数...
6. **字符串处理**:在ACM竞赛中,字符串处理是常见的一类问题,如模式匹配(KMP、Boyer-Moore、Rabin-Karp算法)和编辑距离等。 7. **数学应用**:集合可能包括线性代数、组合数学、数论(模运算、欧几里得算法、...
题目可能会要求参赛者设计算法来解决诸如图的遍历、字符串处理、数值计算等问题,而这些都需要参赛者具备扎实的编程基础和算法知识。 考虑到给定文件描述中提到的“不是贪心做的”,可以推测ZOJ2536的问题可能具有...