HDOJ/HDU 2700 Parity(奇偶判断~)

简介: HDOJ/HDU 2700 Parity(奇偶判断~)

Problem Description

A bit string has odd parity if the number of 1’s is odd. A bit string has even parity if the number of 1’s is even.Zero is considered to be an even number, so a bit string with 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 consists of one or more strings, each on a line by itself, followed by a line containing only “#” that signals the end of the input. Each string contains 1–31 bits followed by either a lowercase letter ‘e’ or a lowercase letter ‘o’.


Output

Each line of output must look just like the corresponding line of input, except that the letter at the end is replaced by the correct bit so that the entire bit string has 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


英文题~看懂题意就ok了。

e代表的是偶数奇偶性校验。

o代表的是奇数奇偶性校验。

0代表是。1代表否~

其实就是判断1的个数~

import java.util.Scanner;
/**
 * @author 陈浩翔
 */
public class Main{
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.next();
            if(str.equals("#")){
                return ;
            }
            int num=0;
            for(int i=0;i<str.length()-1;i++){
                if(str.charAt(i)=='1'){
                    num++;
                }
            }
            if(num%2==0){//1出现的次数为偶数
                if(str.charAt(str.length()-1)=='e'){//偶数奇偶校验
                    //0代表判断正确
                    System.out.println(str.substring(0, str.length()-1)+'0');
                }else{
                    System.out.println(str.substring(0, str.length()-1)+'1');
                }
            }else{
                if(str.charAt(str.length()-1)=='o'){//奇数奇偶校验
                    //0代表判断正确
                    System.out.println(str.substring(0, str.length()-1)+'0');
                }else{
                    System.out.println(str.substring(0, str.length()-1)+'1');
                }
            }
        }
    }
}
目录
相关文章
|
6月前
|
Java
hdu-2112-HDU Today(dijkstra + map)
hdu-2112-HDU Today(dijkstra + map)
23 0
hdu 1196 Lowest Bit(水题)
hdu 1196 Lowest Bit(水题)
41 0
hdoj 3555 BOMB(数位dp)
hdoj 3555 BOMB(数位dp)
37 0
codeforces 339A.Helpful Maths B.Xenia and Ringroad 两水题
.题意就是把字符串里面的数字按增序排列,直接上代码。
40 0
poj 2362 hdoj 1518 Square(搜索)
不难了解,小棒子的长度越长,其灵活性越差。例如长度为5的一根棒子的组合方式要比5根长度为1的棒子的组合方式少,这就是灵活性的体现。
49 0
hdoj 2191 背包
虽然每件物品的数目并不是1,可能有多个,但我们完全可以把这个题目转化成01背包来解决。 可以把多件相同的物品合并成一件,马上就变01背包了。
35 0
华为机试HJ75:公共子串计算
华为机试HJ75:公共子串计算
HDOJ 1056 HangOver(水题)
HDOJ 1056 HangOver(水题)
100 0
HDOJ 1056 HangOver(水题)
HDOJ(HDU) 2107 Founding of HDU(找最大值)
HDOJ(HDU) 2107 Founding of HDU(找最大值)
111 0