点击打开链接

#include<cstdio>
#include<cstring>
/*
别看错了:0能变1,1不能变0
能完成的条件是,s与t长度相等且s中0数量和?数量之和大于等于t中0数量
首先,对于相等的字符显然不应修改
然后:
***抄的
主要就是要注意0能变1,1不能变0
因此,优先满足1->0的情况
***
*/
char s[110];
char t[110];
int a1;//0->1
int a2;//1->0
int a3;//?->1
int a4;//?->0
int cse=0,c;
int ans;
int main()
{
int i,len;
scanf("%d",&c);
while(c--)
{
scanf("%s",s);
scanf("%s",t);
printf("Case %d: ",++cse);
if(strlen(s)!=strlen(t))
{
printf("-1\n");
continue;
}
a1=0;a2=0;a3=0;a4=0;ans=0;
len=strlen(s);
for(i=0;i<len;i++)
if(s[i]!=t[i])
{
if(s[i]=='0')
a1++;
else if(s[i]=='1')
a2++;
else if(t[i]=='1')
a3++;
else a4++;
}
if(a1+a3<a2)
{
printf("-1\n");
continue;
}
while(a1>0&&a2>0)
{
a1--;a2--;ans++;
}
while(a3>0&&a2>0)
{
a3--;a2--;ans+=2;
}
ans+=a3;ans+=a4;
ans+=a1;//曾经忘了导致错误,多余的另三种操作都要用1次完成,不能忽略0->1多余的
printf("%d\n",ans);
}
return 0;
}

最新文章

  1. IOS开发基础知识--碎片37
  2. WebForm Application Viewstate 以及分页(功能性的知识点)
  3. php文件上传参考配置与大文件上传
  4. Jcrop+uploadify+php实现上传头像预览裁剪
  5. PHP public private protected 三种修饰符的区别
  6. python基础语法(4)
  7. noip赛前小结4
  8. PHP面向对象(二)--构造函数与析构函数
  9. RTC搭建android下三层应用程序访问服务器MsSql-服务器端
  10. 【ThinkingInC++】65、使用delete void*可能会出错
  11. MFC图形处理
  12. mac下IDLE无法输入中文的问题
  13. POJ 3050 Hopscotch DFS
  14. JAVA远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
  15. Loj #2321. 「清华集训 2017」无限之环
  16. shell进程中的特殊状态变量
  17. tcpdump完全指南
  18. Python给照片换底色(蓝底换红底)
  19. pytesseract使用的坑
  20. winform获取EXE图片

热门文章

  1. python day- 10 动态参数 函数的嵌套 命名空间和作用域 global和nolocal
  2. Android IntentService的使用和源代码分析
  3. [树套树]K大数查询
  4. java面试题基础
  5. 「网络流24题」「LuoguP2774」方格取数问题(最大流 最小割
  6. python-----删除列表中某个元素的3种方法
  7. nodejs 打造 多人对战游戏服务器(初级入门)
  8. 内部锁之一:锁介绍(偏向锁 &amp; 轻量级锁 &amp; 重量级锁 &amp; 各自优缺点及场景)
  9. NOI前总结:点分治
  10. k8s认证及ServiceAccount-十五