方法就是将该组测试数据中所有的数据进行异或计算。得出结果为0则为必输,不为零必胜。
#include<iostream> using namespace std; const int MAXM=102; int main() { int M; while(cin>>M) { int num[MAXM]; if(M==0) { break; } int i=0; for(i=0;i<=M-1;i++) { cin>>num[i]; } int result=0; for(i=0;i<=M-1;i++) { int j=0; int sum=0; for(j=0;j<=M-1;j++) { if(i!=j) { sum=sum^num[j]; } } if(sum<num[i]) { result++; } } cout<<result<<endl; } return 0; }