artistkeepmonkey的博客

玩乐中写程序

uva 1339

串s1中的字母女人能够与串s2中的字母映射,那么两字母出现次数必然相等。
所以两串想要一一映射,要看字符出现的数量。

#include<iostream>
#include<string>
#include<string.h>//memset的头文件
#include<algorithm>//sort的头文件
#include<cstdio>//输入输出重定向的头文件
using namespace std;
int main()
{
 string s[2];
 int box[2][30],k;
 //freopen("input.txt","r",stdin);   输入重定向 cin>>a 相当于从文件流入到啊 可以用这个更方便的测试数据 
 while(cin>>s[0]>>s[1])
 {
  for(int k=0;k<2;k++)
  {
   memset(box[k],0,sizeof(box[k]));
   int L=s[k].length(),row=0;
   for(int i=0;i<L;i++)
   {
    int sum=0;
    if(s[k][i]==0)continue;
    char c=s[k][i];
    for(int j=i;j<L;j++)
    {
     if(s[k][j]==c)
     {
      s[k][j]=0;
      sum++;
     }
    }
    box[k][row++]=sum;
   }
   sort(&box[k][0],&box[k][0]+26);
  }
  for(int i=0;i<26;i++)
  {
   if(box[1][i]!=box[0][i])
   {
    cout<<"NO\n";
    goto fina;
   }
  }
  cout<<"YES\n";
  fina:;
 }
 return 0;
}
阅读更多
个人分类: uva
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

uva 1339

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭