游客 Signup | Login
中文 | En

1036 - 字符串的奇偶性

我们把只有0和1组成的字符串叫做比特字符串。如果比特字符串中1的个数为奇数,则称这个比特字符串是奇性的。如果比特字符串中1的个数为偶数,则称这个比特字符串是偶性的。
注意:
(1)0是偶数,所以不包含1的比特字符串是偶性的。
(2)0的个数不影响比特字符串的奇偶性。

Input

输入包含多组测试数据。每组数据由1~31个0、1组成,最后跟一个小写字母e或o,e表示此比特字符串应为偶性,o表示此比特字符串应为奇性。
当输入#时,表示输入结束。

Output

每组输入对应一个输出,你应该将最后的字母替换成0或1,使得此比特字符串符合输入时确定的奇偶性。

Examples

Input

101e
010010o
1e
000e
110100101o
#

Output

1010
0100101
11
0000
1101001010

Solution C

#include<stdio.h>
#include<string.h>

int main()
{
	int i,k,l;
	char a[35];
	while(gets(a))
	{
		k=0;
		if(!strcmp(a,"#"))
			break;
		l=strlen(a);
		for(i=0;i<l;i++)
			if(a[i]=='1')
				k++;
		if(k%2==0)
		{
			if(a[l-1]=='e')
				a[l-1]='0';
			else
				a[l-1]='1';
		}
		else
		{
			if(a[l-1]=='e')
				a[l-1]='1';
			else
				a[l-1]='0';
		}
		printf("%s\n",a);
	}
	return 0;
}

Solution C++

#include<stdio.h>
#include<string.h>

int main()
{
	int i,k,l;
	char a[35];
	while(gets(a))
	{
		k=0;
		if(!strcmp(a,"#"))
			break;
		l=strlen(a);
		for(i=0;i<l;i++)
			if(a[i]=='1')
				k++;
		if(k%2==0)
		{
			if(a[l-1]=='e')
				a[l-1]='0';
			else
				a[l-1]='1';
		}
		else
		{
			if(a[l-1]=='e')
				a[l-1]='1';
			else
				a[l-1]='0';
		}
		printf("%s\n",a);
	}
	return 0;
}
Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题