题目链接: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; }