程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> ACM成對的字符串(C++實現)

ACM成對的字符串(C++實現)

編輯: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;

}

 

摘自我和我追逐的夢~~~

向山頂爬去~~~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved