今天突发奇想想试试用位运算解决这道题,于是就写了这么一段代码:
#include <iostream>
using namespace std;
int main()
{
long long a,b,c;
cin >> a >> b >> c;
cout << (((a<60) ^ (b<60) ^ (c<60)) ) << endl;
}
但是执行后第二个检查点WA了,经过思考后发现如果使用异或操作,需要将三个1(三科全部及格)和三个0(三科全部不及格)的排除掉,所以在思考了一会怎么修改无果,只好加上了效率极底的代码:
#include <iostream>
using namespace std;
int main()
{
long long a,b,c;
cin >> a >> b >> c;
cout << (((a<60) ^ (b<60) ^ (c<60)) && !(a==0 && b==0 && c==0) && !(a==1 && b==1 && c==1)) << endl;
}
但是第二个检查点还是WA,求助大佬我究竟是哪里有问题,修改后怎么提高效率。
谢谢