奇偶性转成xor问题
map的应用,xor到集合的映射使问题大大简化。
bitcount()的写法
中途相遇法的应用。
#include <cstdio> #include <map> using namespace std; const int maxn = 30; map<int, int> table; int n; int a[maxn]; char s[1005]; int bitcount(int x) { return x == 0 ? 0 : bitcount(x / 2) + (x & 1);//统计有多少个1 //一定要写成(x & 1)的形式。 } int main() { while(~scanf("%d", &n)) { for (int i = 0; i < n; i++) { scanf("%s", s); a[i] = 0; for (int j = 0; s[j] != '