fork download
  1. #include<bits/stdc++.h>
  2. #define M 504
  3. using namespace std;
  4.  
  5. int k, n;
  6. long long a, s[M][M];
  7. int dp[M][M];
  8.  
  9. int main()
  10. {
  11. ios_base::sync_with_stdio(0);
  12. cin.tie(0); cout.tie(0);
  13.  
  14. cin >> k;
  15. while(k--)
  16. {
  17. cin >> n;
  18. for(int i = 0; i <= n; i++)
  19. {
  20. for(int j = 0; j <= n; j++)
  21. {
  22. s[i][j] = 0;
  23. dp[i][j] = 0;
  24. }
  25. }
  26. for(int i = 1; i <= n; i++)
  27. {
  28. for(int j = 1; j <= n; j++)
  29. {
  30. cin >> a;
  31. s[i][j] = s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1] + a;
  32. }
  33. }
  34. for(int i = 1; i <= n; i++)
  35. {
  36. for(int j = 1; j <= n; j++)
  37. {
  38. if((s[i][j] - s[i][j - 1]) % 2 == 0)
  39. dp[i][j] = max(dp[i][j], abs(dp[i][j - 1] - 1));
  40. if((s[i][j] - s[i - 1][j]) % 2 == 0)
  41. dp[i][j] = max(dp[i][j], abs(dp[i - 1][j] - 1));
  42. }
  43. }
  44. if(dp[n][n] == 1) cout << "YES" << '\n';
  45. else cout << "NO" << '\n';
  46. }
  47. }
  48.  
Success #stdin #stdout 0s 5292KB
stdin
2
3
1 2 2
1 2 3
2 3 1
4
2 2 2 2
2 2 2 2
2 2 2 2
2 2 2 2
stdout
YES
NO