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

一个函数

时间:2015-12-02 16:18:44      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

一个函数
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 48(37 users) Total Accepted: 38(35 users) Rating: Special Judge: No
Description

现在用一个函数来处理一个字符串(该字符串只包含x和y)。

函数的两个操作如下。

1.  在字符串中找到两个连续的字符(可以不相邻),并且第一个字符是’y’,第二个字符是’x’,然后交换它们。如果一次存在多种满足该条件的连续字符,我们就找到最靠近字符串开始位置的那组进行操作。

2.  在字符串中找到两个连续的字符(可以不相邻),并且第一个字符是’x’,第二个字符是’y’,

然后从原串中将这两个字符删除。如果一次存在多种满足该条件的连续字符,我们就找到最靠近字符串开始位置的那组进行操作。

函数的运行步骤如下:

Step1: 如果你对当前的字符串至少可以进行上面两个操作中的一个,就进入Step2,否则函数运行结束。

Step2:如果你可以进行1 操作就执行它。否则执行2操作1次,2操作结束后进入Step1.

请输出函数运行结束之后经过处理符串。

Input
输入一个字符串,保证字符串不为空且仅由’x’和’y’组成。字符串长度为1~106
Output
输出函数返回值。

 

保证测试数据不会让返回值为空串。

Sample Input

x

yxyxy

xxxxxxy

Sample Output

x

y

xxxxx

Author
曾卓敏 @hrbust

 

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
char a[1000000];
char b[1000000];
int main()
{
    while(~scanf("%s",a))
    {
        int i;
        int xnum=0,ynum=0;
        int key=strlen(a);
        for(i=0;i<key;i++)
        {
            if(a[i]==x)
            {
                xnum++;
            }
            else
            {
                ynum++;
            }
        }
        int k;
        if(xnum>ynum)
        {
            k=xnum-ynum;
            for(i=0;i<k;i++)
            {
                printf("x");
            }
        }
        else
        {
            k=ynum-xnum;
            for(i=0;i<k;i++)
            {
                printf("y");
            }
        }
        printf("\n");
    }
    return 0;
}

 

一个函数

标签:

原文地址:http://www.cnblogs.com/beige1315402725/p/5013230.html

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