欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PIPIOJ1324 水题 简单AC

程序员文章站 2024-03-18 22:38:16
...

PIPIOJ1324 水题 简单AC
PIPIOJ1324 水题 简单AC
PIPIOJ1324 水题 简单AC

//本题中str1和str2至少经过多少次交换,可以得到完全相等的字符串
//当str1中有2个a,str2中有2个b时,只需经过一次交换即可将这两个字符对应相等
#include<bits/stdc++.h>
using namespace std;
main()
{
    char str1[50010],str2[50010];
    int n,m,a,b,len;  //n表示对应的a和b不相同的个数,m表示str1中a的个数
    while(scanf("%s%s",str1,str2)!=EOF)
    {
        m=0,n=0,a=0;
        len=strlen(str1);
        for(int i=0; i<len; i++)
        {
            if(str1[i]!=str2[i])
                n++;
            if(str1[i]!=str2[i]&&str1[i]=='a')
                m++;
            if(str1[i]=='a')
                a++;
            if(str2[i]=='a')
                a++;
        }
        if(a%2==0&&m%2==0)
            printf("%d\n",n/2);
        else if(a%2==0&&m%2==1)
            printf("%d\n",n/2+1);
        else printf("-1\n");
    }
}
相关标签: oj刷题