codeforces 298 C Parity Game 思维问题

题目链接

  • Write parity(a) to the end of a. For example, .
  • Remove the first character of a. For example, . You cannot perform this operation if a is empty.

根据这两句话就可以推断出 所有的变化

也是就 1的个数为n是偶数 这他可以变成 任意小于等于n的数字了

1的个数为n是奇数的话,根据操作最多能将n变成n+1 ,这样就可以变成任意小于等于n+1的操作了

就是统计n的个数就好了~~

#include<stdio.h>
#include<string.h>
char a[2000],b[2000];
int main()
{
   int suma=0,sumb=0,lena,lenb,i;
   while(scanf("%s",a)!=EOF){
         scanf("%s",b);
         lena=strlen(a);                          
         lenb=strlen(b);
         suma=0;
         sumb=0;
         for(i=0;i<lena;i++)
            if(a[i]=='1')suma++;    //字符串1统计1的个数
         for(i=0;i<lenb;i++)
            if(b[i]=='1')sumb++;    //字符串2统计1的个数
         if(suma%2==1)suma++;       //若是字符串1中1的个数为奇数,就可以加1变成偶数
         if(suma>=sumb)printf("YES\n");
         else printf("NO\n");
   }    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值