zoukankan      html  css  js  c++  java
  • HDU 2700

    Parity

    Time Limit: 2000/1000 MS(Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 4334    Accepted Submission(s): 3264


    Problem Description

    A bit string hasodd parity if the number of 1's is odd. A bit string has even parity if thenumber of 1's is even.Zero is considered to be an even number, so a bit stringwith no 1's has even parity. Note that the number of
    0's does not affect the parity of a bit string.

     

     

    Input

    The input consistsof one or more strings, each on a line by itself, followed by a line containingonly "#" that signals the end of the input. Each string contains 1–31bits followed by either a lowercase letter 'e' or a lowercase letter 'o'.

     

     

    Output

    Each line ofoutput must look just like the corresponding line of input, except that theletter at the end is replaced by the correct bit so that the entire bit stringhas even parity (if the letter was 'e') or odd parity (if the letter was 'o').

     

     

    Sample Input

    101e

    010010o

    1e

    000e

    110100101o

    #

     

     

    Sample Output

    1010

    0100101

    11

    0000

    1101001010

    题意简述

    看字符串中1的个数,e结尾变成偶数,o结尾变成单数

    题意分析

    明白了就是水题

    代码总览

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	//freopen("in.txt","r",stdin);
    	int length,i,count;
    	char str[101] ;
    	while(scanf("%s",str) != EOF && str[0] != '#'){
    		count = 0;
    		length = strlen(str);
    		for(i = 0; i<length-1;i++){
    			if(str[i]=='1'){
    				count++;
    			} 
    		}
    		if(count%2==0 && str[length-1] == 'e'){
    			str[length-1]='0';
    		}else if(count%2!=0 && str[length-1] == 'e'){
    			str[length-1]='1';
    		}else if(count%2==0 && str[length-1] == 'o'){
    			str[length-1]='1';
    		}else if(count%2!=0 && str[length-1] == 'o'){
    			str[length-1]='0';
    		}
    		for(i = 0; i<length;i++){
    			printf("%c",str[i]);
    			if(i == length-1){
    				printf("
    ");
    			}
    		}
    	}
    	return 0;
    	//fclose(stdin);
    }

    谢谢您耐心的看完本文!

    我是ACM小白,希望与诸君共勉!欢迎收听新浪微博:鹏威尔Will


  • 相关阅读:
    linux内核编译
    字符设备驱动ioctl实现用户层内核层通信
    Linux内核完全剖析基于0.12内核
    KVM分析报告
    kvm的vmcall
    kvm源代码分析
    KVM基本概念
    linux系统调用
    UML的9种图例解析(转)
    SurfaceView的基本使用(转)
  • 原文地址:https://www.cnblogs.com/pengwill/p/7367283.html
Copyright © 2011-2022 走看看