简单的算法问题2——奇怪的国家
来源:互联网 发布:spring源码深度剖析 编辑:程序博客网 时间:2024/05/22 13:07
简单的算法问题2——奇怪的国家
以下题目全是用C++写的…
以下算法题均来自计蒜客
题目
有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。
输入格式
输入包括两行,每行包括 N(1≤N≤50) 个数字,分别表示两个人对于 N 个事情对应的看法——0 表示不赞同、1表示赞同。
输出格式
输出包括一行,包括 N 个数字,表示两人相遇后,对于这 N 件事情的最终看法。
形如:
输入
11100101
00101011
输出
00110001
刨坑点
1.个人觉得这道题还是比较简单的。感觉像逻辑电路里面最基础的异或非。相同为1,不同为0。
2.值得注意的是就是在C++中<string>
有一个string的方法为data()是字符数组,比较字符的时候你就可以用它来str1.data()[i]!=str2.data()[i]
或者 str1.data()[i]==str2.data()[i]
,前提是你要把你的两个字符串设置为 string str1,str2;
。当然你可以不用这个你也可以用C中的<string.h>
比较时直接用(*str1++)!=(*str2++)
或者 (*str1++)==(*str2++)
前提是你要把你比较的两个字符串设置为char * str1 ,* str2;
代码
#include <iostream>#include <string>using namespace std;string judge(string str1,string str2);int main(){ string str1; string str2; cin>>str1; cin>>str2; cout<<judge(str1,str2); return 0;}string judge(string str1,string str2){ string str3; string s1(str1); string s2(str2); int i=0; if((str1.length()>0||str1.length()<51)&&(str2.length()>0||str2.length()<51)){ while((s1.data()[i]=='0'||s1.data()[i]=='1')&&(s2.data()[i]=='0'||s2.data()[i]=='1')){ if(s1.data()[i]==s2.data()[i]){ str3.append("1"); } else{ str3.append("0"); } i++; } return str3; }}
测试成功!~
阅读全文
1 0
- 简单的算法问题2——奇怪的国家
- python|计蒜客——奇怪的国家
- C语言——奇怪的国家
- 计蒜课-奇怪的国家
- 奇怪的国家
- 一个奇怪的国家
- 奇怪的国家
- 奇怪的国家
- python-----奇怪的国家
- 计蒜客————奇怪的国家
- 计蒜客007-奇怪的国家
- 第七题:奇怪的国家
- Java - 计蒜客 - 奇怪的国家
- 第7题:奇怪的国家
- 计蒜客 难题题库 007 奇怪的国家
- 计蒜客 第7题:奇怪的国家
- 计蒜课难题题库之奇怪的国家
- 计蒜客难题挑战:奇怪的国家
- Oracle中的日期相关函数(部分)
- 在PHP语言中使用JSON和将json还原成数组
- busybox无法ping域名的解决办法
- Android
- Vue.js——60分钟快速入门
- 简单的算法问题2——奇怪的国家
- Android7.0中文API -- ActionMenuView
- LeetCode 517 Super Washing Machines
- java中的线程池类型
- 互联网协议入门
- Ajax关于readyState和status的讨论
- Java字符串的截取
- request response 下载文件
- 文件做MD5校验