码迷,mamicode.com
首页 > 其他好文 > 详细

ebullient(2018.10.25)

时间:2018-10-25 21:40:19      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:lse   info   tin   分享   using   个数   clu   \n   ace   

结论巨好想,每一次操作可以看作把一个b往前移一位,另一个b往后移一位,逆序对个数不改变,判断即可做第一问。
技术分享图片
此处代码仅给出第一问做法:

#include<cstdio>
#include<algorithm>
using namespace std;
int n,f[1000001],g[1000001];
char a[1000001],b[1000001];
int main()
{
    while(scanf("%d",&n)!=EOF)
    {
        scanf("%s",a+1);
        scanf("%s",b+1);
        int sum1=0,sum2=0,ans=0;
        for(int i=1;i<=n;i++)
        {
            if(a[i]==‘b‘)f[++sum1]=i;
            if(b[i]==‘b‘)g[++sum2]=i;
        }
        if(sum1!=sum2){printf("Forever\n");continue;}
        for(int i=1;i<=sum1;i++)ans+=f[i]-g[i];
        if(!ans)printf("Ever\n");
        else printf("Forever\n");
    }
}

ebullient(2018.10.25)

标签:lse   info   tin   分享   using   个数   clu   \n   ace   

原文地址:https://www.cnblogs.com/lcxer/p/9852995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!