您的位置:首页 > 其它

HDU 2700 Parity(找规律)

2017-10-13 14:18 323 查看

http://acm.hdu.edu.cn/showproblem.php?pid=2700

Parity


Time Limit: 2000/1000 MS
(Java/Others)    Memory
Limit: 32768/32768 K (Java/Others)

Total Submission(s):
1137    Accepted
Submission(s): 891


[align=left]Problem Description[/align]
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.
 

 

[align=left]Input[/align]
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'.

 

 

[align=left]Output[/align]
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').
 

 

[align=left]Sample Input[/align]

101e
010010o 1e 000e 110100101o #

 

 

[align=left]Sample Output[/align]

1010
0100101 11 0000 1101001010

 

 

[align=left]Source[/align]

2008 Mid-Central USA
 

 

[align=left]Recommend[/align]
zty
 
寻找规律
#include<stdio.h>

#include<string.h>

int main()

{

  char c[35];

  char *p=c;

  int len,i,count;

  while(scanf("%s",c)!=EOF)

  {

   
if(c[0]=='#') break;

 len=strlen(c);

 count=0; 

   
for(i=0;i<len-1;i++)

    {

   
 if(*(p+i)=='1')

        
count++;   

    }

   
if((count%2==0&&c[len-1]=='e')||(count%2==1&&c[len-1]=='o'))//跟字符串里面的字符1个数有关

      
c[len-1]='0';//注意加‘’符号,否则会输出很奇怪的东西

    else
c[len-1]='1';

      
puts(c);

  }

  return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: