您的位置:首页 > 其它

UVALive 4167 Parity (字符串水)

2016-01-26 12:25 288 查看
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2168

题意:给你一个字符串,由01组成,然后最后一个字符是e或o,e的时候输出的1的数量要是偶数,o的时候输出的1的数量要是奇数

思路:最后一个字符不再输出,所以说只需要计数1的数量,然后根据1数量的奇偶来判断最后一个应该输出什么

ac代码:

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stack>
#include<set>
#include<queue>
#include<vector>
#include<iostream>
#include<algorithm>
#define MAXN 1010000
#define LL long long
#define ll __int64
#define INF 0xfffffff
#define mem(x) memset(x,0,sizeof(x))
#define PI acos(-1)
using namespace std;
char s[MAXN];
int main()
{
while(scanf("%s",s)!=EOF)
{
if(s[0]=='#')
break;
int len=strlen(s);
int cnt=0;
for(int i=0;i<len;i++)
if(s[i]=='1')
cnt++;
for(int i=0;i<len-1;i++)
printf("%c",s[i]);
if(s[len-1]=='o')
{
if(cnt%2)
printf("0\n");
else
printf("1\n");
}
else
{
if(cnt%2)
printf("1\n");
else
printf("0\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: