fork download
  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<algorithm>
  4. #include<string.h>
  5. #include<vector>
  6. using namespace std;
  7. #define sz 64
  8. #define ll unsigned long long
  9. char arr[1005][1005];
  10.  
  11. int main()
  12. {
  13. //ios_base::sync_with_stdio(false);
  14. int t;
  15. scanf("%d\n",&t);
  16. while(t--)
  17. {
  18. int n,m,k=0,cc=0;
  19. scanf("%d%d\n",&n,&m);
  20. vector<ll> mod[1005];
  21. for(int i=0;i<n;i++)
  22. {
  23. //mod[i].clear();
  24. gets(arr[i]);
  25. //puts(arr[i]);
  26. for(int j=0;j<m;j++)
  27. {
  28. //cin>>arr[i][j];
  29. if(j%sz==0)
  30. mod[i].push_back(0);
  31. k=mod[i].size()-1;
  32. mod[i][k]+=((arr[i][j]-'0')<<(j%sz));
  33. }
  34. k=0;
  35. }
  36. for(int col=0;col<m;col++)
  37. {
  38. int sector=col/sz,bit=col%sz,fl=0;
  39. /*for(int row=0;row<n;row++)
  40.   {
  41.   mod[row][sector]-=((arr[row][col]-'0')<<bit);
  42.   }*/
  43. for(int row=0;row<n-1;row++)
  44. {
  45.  
  46. for(int i=row+1;i<n;i++)
  47. {
  48. for(int j=0;j<mod[row].size();j++)
  49. {
  50. ll cmp1=mod[row][j],cmp2=mod[i][j];
  51. if(j==sector)
  52. {
  53. cmp1-=((arr[row][col]-'0')<<bit);
  54. cmp2-=((arr[i][col]-'0')<<bit);
  55. }
  56. if(cmp1==cmp2)
  57. {
  58. fl=1;
  59. break;
  60. }
  61. }
  62. if(fl)
  63. break;
  64. }
  65. if(fl)
  66. break;
  67. }
  68. if(!fl)
  69. cc++;
  70. /*for(int row=0;row<n;row++)
  71.   {
  72.   mod[row][sector]+=((arr[row][col]-'0')<<bit);
  73.   }*/
  74. if(cc)
  75. break;
  76. }
  77. if(cc)
  78. printf("Yes\n");
  79. else printf("No\n");
  80.  
  81. }
  82. }
  83.  
Success #stdin #stdout 0s 4280KB
stdin
Standard input is empty
stdout
Standard output is empty