蓝桥杯 算法训练 审美课
参考:https://blog.csdn.net/weixin_42324771/article/details/87533713
1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=5*1e4+10; 4 const int M=1e7;//这里不能开到1e8,否则会报错!! 5 int in[N]={0};//int是4字节,超过了20位,所以够用 6 int ans[M]={0}; 7 int main() 8 { 9 // freopen("in.txt","r",stdin); 10 int n,m; 11 cin>>n>>m; 12 for (int i=0;i<n;i++) 13 { 14 for (int j=0;j<m;j++) 15 { 16 int temp; 17 cin>>temp; 18 in[i]=in[i]<<1;//左移后要赋值,否则原数不受影响!! 19 in[i]+=temp; 20 } 21 ans[in[i]]++; 22 } 23 int anss=0,st; 24 st=(1<<m)-1; 25 for (int i=0;i<n;i++) 26 { 27 int temp=st^in[i]; 28 anss+=ans[temp]; 29 } 30 cout<<anss/2<<endl; 31 // for (int i=0;i<n;i++) 32 // { 33 // cout<<in[i]<<endl; 34 // } 35 36 return 0; 37 }