`
pleasetojava
  • 浏览: 750784 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

ACM成对的字符串(C++实现)

 
阅读更多
成对的字符串
Description
有些字符串,如果满足下面的性质,则称为成对的字符串:
a. 所有的字符在字符串中出现偶数次
b. 每一对相同的字符之间不会有出现奇数次的字符
现在给你一些字符串,请判断这些字符串是否为成对的字符串。

输入:
第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例。每行为一个字符串(长度不超过1000个字符)。

输出:
每行输出一个测试用例的结果。如果是,输出Yes,否则输出No。

Sample Input
2
aAbbAaaabbcc
abcdefghijklmn

Sample Output
Yes
No

#include<iostream>
using namespace std;
char str[1000];
int cNum[100];


int main()
{
int cas;
cin>>cas;
while(cas--)
{
scanf("%s",str);
int k = strlen(str);
memset(cNum,0,sizeof(cNum));
int i=0;
int sum =0;
if(k%2)
{
cout<<"No"<<endl;
continue;
}
while(i<k)
{
if(cNum[str[i]]==0)
{
cNum[str[i]] = i+1;
}
else
{
if((i-cNum[str[i]])%2==0){sum+=2;cNum[str[i]]=0;}
}
i++;
}
if(sum==k)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}


分享到:
评论

相关推荐

    ACM资料字符串处理并差集

    在实际实现中,我们可以使用 C++、Java 等编程语言来实现 ACM 资料字符串处理并差集的算法。我们可以使用动态规划算法、递归算法等来解决问题,并使用二分查找来优化算法的性能。 七、应用场景 ACM 资料字符串处理...

    基于C++实现的ACM-ACM竞赛常用模板

    这个“基于C++实现的ACM竞赛常用模板”是一个集成了ACM比赛常见问题解决方案的代码库,可以帮助参赛者快速理解和解决各种竞赛题目。 首先,模板通常包括基础数据结构和算法的实现,例如: 1. **排序算法**:快速...

    北大acm_p1001试题c++版

    对于新手来说,简单算法可能包括基础的数学计算、字符串处理或者基本的数据结构操作,如数组、链表和栈。此题目的具体细节没有给出,但我们可以通过常见的ACM题目类型进行一般性的讨论。 C++作为一门强大的编程语言...

    KMP算法实现模板(c++版)ACM算法

    在ACM(Association for Computing Machinery)算法竞赛中,KMP算法因其高效的字符串匹配性能而常被用作模板。 ### KMP算法的核心思想 KMP算法的核心是构造一个“部分匹配表”(也称为“失败函数”或“跳跃表”)...

    ACM-ACM竞赛常用模板-C++.zip

    2. 字符串处理:KMP算法、Rabin-Karp算法等用于字符串匹配,Manacher's Algorithm处理回文子串问题。 3. 并查集:处理连接和查询的高效数据结构,常用于解决连通性问题。 总之,ACM竞赛的C++模板涵盖了算法、数据...

    acm常用算法模板(C++版)

    KMP算法主要用于字符串处理,它通过预处理模式串来避免在主串中不必要的回溯,从而高效地实现字符串匹配。快速幂模板则是一种高效计算a的b次方对c取模的算法,其核心思想是分治法,通过减少计算次数来提高幂运算的...

    基于C++实现的ACM-ACM竞赛常用模板文件

    此外,模板文件还可能包含一些具有特殊用途的代码片段,例如输入输出优化、特殊数据类型(如大数运算)、字符串处理技巧、内存管理优化等。这些内容都是ACM比赛中不可或缺的技能点。在模板文件中,这些代码片段往往...

    ACM杭电1002 C++程序

    在C++中,我们可以利用字符串或者自定义数据结构来实现大数的存储和运算。 在ACM竞赛中,解决方案的性能和输出格式通常是评分的重要因素。因此,不仅要求程序能正确地计算大数相加的结果,还需要考虑时间复杂度和...

    c++编写acm之密码截获

    C++中的`&lt;string&gt;`库提供了丰富的字符串处理函数,如`substr`用于截取子串,`find`用于查找子串,以及`replace`用于替换子串等。 4. **加密算法**:理解基本的加密原理,如凯撒密码、置换密码、维吉尼亚密码或现代...

    ACM动态规划模板-字符串kmp问题模板

    字符串处理是编程中一个极为常见且重要的领域,尤其在处理模式匹配、文本搜索等任务时,高效且快速的算法是必不可少的...理解和实现KMP算法不仅有助于提升对字符串处理问题的解决能力,还能深化对动态规划思想的认识。

    ACM代码300道c++源代码

    【标签】"ACM代码300道" 是一个关键词,表明这个压缩包是针对ACM竞赛训练的,其中包含300个不同的编程挑战,每个挑战都有相应的C++实现。 【压缩包子文件的文件名称列表】中的 "0506010237" 很可能是题目编号或者...

    浙江大学acm标程库 + C++API

    C++ API则可能是指一个特定的C++库,用于方便在ACM竞赛中快速实现某些通用功能,如输入输出处理、矩阵运算、字符串操作等。在ACM竞赛中,效率至关重要,因此这样的库能帮助参赛者节省时间,避免重复造轮子,专注于...

    ACM模板和一些题目的代码实现(基于C++源代码)

    这个资源包中的"ACM-master"可能是一个代码仓库,包含了上述各类算法的C++实现,对于学习者来说,阅读和分析这些代码可以帮助理解算法的细节,提高实际编程能力。而"更多资源免费获取.jpg"可能是指向其他学习资料的...

    string-in-acm.rar_ACM string_acm string cahr

    在ACM(国际大学生程序设计竞赛)中,字符串处理是一个重要的知识领域,涉及到的问题多种多样,包括但不限于字符串匹配、字符串操作、编码转换等。本文档“字符串.wps”显然是一个针对ACM比赛中的字符串问题进行总结...

    字典树模板acm竞赛可用

    在 ACM 竞赛中,trie 经常被用来解决字符串相关的问题,因为它可以将时间复杂度降低到 O(n),从而提高效率。下面是一个使用 trie 解决的问题的例子: 给定一个字符串集合,然后每次询问时给出一个字符串,问以该...

    C++进阶算法合集--ACM必备

    具体实现需查看代码,但通常会运用到C++的I/O操作、数组、字符串类等。 3. **1037.cpp**:同样,这可能是另一道ACM题目,可能涉及到图论、动态规划或搜索算法。解这类题目的关键在于理解问题模型,并选择合适的算法...

    杭电ACM解题报告(C/C++)

    《杭电ACM解题报告(C/C++)》涵盖了从1201到1250号的所有题目,这是一份丰富的编程竞赛资源,专为参加或准备参加ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)的选手们提供。ACM...

    Acm训练题资源

    3. **字符串处理**:字符串匹配算法(KMP、Boyer-Moore等)、字符串操作(如反转、子串查找等)。 4. **数学**:组合数学、数论、概率论等,很多题目需要运用到数学思维和计算。 5. **逻辑和递归**:理解和实现...

    ACM程序设计竞赛常用代码

    * 字符串替换:使用字符串的 replace 函数实现字符串的替换。 * 字符串查找:使用字符串的 find 函数实现字符串的查找。 * 字符串截取:使用字符串的 substr 函数实现字符串的截取。 计算几何 * 叉乘法求任意...

Global site tag (gtag.js) - Google Analytics