fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define FOR(i, n) for (int i = 0; i < (n); i++)
  5.  
  6. typedef long long ll;
  7.  
  8. void solve(){
  9. int n, m, k;
  10. cin>>n>>m>>k;
  11. vector<vector<int>> a(n, vector<int>(m));
  12. FOR(i, n){
  13. FOR(j, m){
  14. cin>>a[i][j];
  15. }
  16. }
  17. unordered_map<int,int> mp;
  18. FOR(i, n){
  19. int hash=0;
  20. FOR(b, m){
  21. if (a[i][b]==1) hash |= (1<<b);
  22. }
  23. mp[hash]++;
  24. }
  25. int res=0;
  26. FOR(i, n){
  27. int hash=0;
  28. FOR(b, m){
  29. if (a[i][b]==1) hash |= (1<<b);
  30. }
  31. int pair=(~(hash)&((1<<m)-1));
  32. res=max(res, mp[hash]+min(k, mp[pair]));
  33. }
  34. cout << res << endl;
  35. }
  36.  
  37. int main(){
  38. int t=1;
  39. cin>>t;
  40. while(t--){
  41. solve();
  42. }
  43. return 0;
  44. }
Success #stdin #stdout 0s 5288KB
stdin
1
5 3 1
1 0 1
0 1 0
0 1 0
0 1 0
1 0 1
stdout
4