fork download
  1. public class Main{interface F{int f(int[][]x);}static F f=
  2.  
  3. x->{int i=0,j=x.length,k,m,M,p=0,P=0,r=0;for(;i<j;r=i++>0?(k=P<m?3:p>M?1:P==m?2:4)*r!=r*r?4:k:0,p=m,P=M)for(M=m=x[k=i][--j];k<=j;)for(int q:new int[]{x[i][k],x[j][k],x[k][i],x[k++][j]}){m=m<q?m:q;M=M<q?q:M;}return r;}
  4.  
  5. ;public static void main(String[]a){
  6. var z=System.out;
  7. System.out.println("All should be concave (1):\n"+f.f(new int[][]{{3,3,3},{3,1,3},{3,3,3}})+'\n'+f.f(new int[][]{{2,3,4},{5,1,6},{7,8,9}}));
  8. z.println(f.f(new int[][] {{19, 34, 45}, {34, 12, 14}, {13, 13, 13}}));
  9. z.println(f.f(new int[][] {{3, 4, 3, 4}, {4, 2, 1, 3}, {3, 1, 2, 4}, {4, 3, 4, 3}}));
  10. z.println(f.f(new int[][] {{4, 5, 6, 4, 7}, {4, 3, 2, 2, 4}, {5, 2, 1, 3, 8}, {5, 3, 3, 2, 5}, {9, 5, 6, 4, 5}}));
  11. z.println(f.f(new int[][] {{7, 7, 7, 7, 7}, {7, 6, 6, 6, 7}, {7, 6, 5, 6, 7}, {7, 6, 6, 6, 7}, {7, 7, 7, 7, 7}}));
  12. z.println("All should be flat (2):");
  13. z.println(f.f(new int[][] {{1, 1, 1}, {1, 1, 1}, {1, 1, 1}}));
  14. z.println(f.f(new int[][] {{2, 2, 2}, {2, 2, 2}, {2, 2, 2}}));
  15. z.println(f.f(new int[][] {{8, 8, 8}, {8, 8, 8}, {8, 8, 8}}));
  16. z.println(f.f(new int[][] {{120, 120, 120}, {120, 120, 120}, {120, 120, 120}}));
  17. z.println(f.f(new int[][] {{10, 10, 10, 10}, {10, 10, 10, 10}, {10, 10, 10, 10}, {10, 10, 10, 10}}));
  18. z.println(f.f(new int[][] {{5, 5, 5, 5, 5, 5}, {5, 5, 5, 5, 5, 5}, {5, 5, 5, 5, 5, 5}, {5, 5, 5, 5, 5, 5}, {5, 5, 5, 5, 5, 5}, {5, 5, 5, 5, 5, 5}}));
  19. z.println("All should be convex (3):");
  20. z.println(f.f(new int[][] {{1, 2, 1}, {2, 6, 2}, {1, 2, 1}}));
  21. z.println(f.f(new int[][] {{1, 1, 1}, {1, 2, 1}, {1, 1, 1}}));
  22. z.println(f.f(new int[][] {{19, 34, 45}, {34, 76, 14}, {13, 6, 13}}));
  23. z.println(f.f(new int[][] {{3, 3, 3, 3}, {3, 4, 4, 3}, {3, 4, 4, 3}, {3, 3, 3, 3}}));
  24. z.println(f.f(new int[][] {{192, 19, 8, 6}, {48, 324, 434, 29}, {56, 292, 334, 8}, {3, 4, 23, 23}}));
  25. z.println(f.f(new int[][] {{291, 48, 7, 5}, {47, 324, 454, 30}, {58, 292, 374, 4}, {9, 2, 53, 291}}));
  26. z.println("All should be mixed (4):");
  27. z.println(f.f(new int[][] {{1, 2, 3}, {4, 5, 9}, {6, 7, 8}}));
  28. z.println(f.f(new int[][] {{10, 14, 21}, {100, 8, 3}, {29, 2, 19}}));
  29. z.println(f.f(new int[][] {{5, 5, 5, 5}, {5, 4, 4, 5}, {5, 4, 6, 5}, {5, 5, 5, 5}}));
  30. z.println(f.f(new int[][] {{3, 3, 3, 3}, {3, 1, 2, 3}, {3, 3, 2, 3}, {3, 3, 3, 3}}));
  31. z.println(f.f(new int[][] {{12, 14, 15, 16}, {12, 18, 18, 16}, {12, 11, 11, 16}, {12, 14, 15, 16}}));
  32. z.println(f.f(new int[][] {{5, 5, 5, 5, 5}, {5, 4, 4, 4, 5}, {5, 4, 6, 4, 5}, {5, 4, 4, 4, 5}, {5, 5, 5, 5, 5}}));}}
Success #stdin #stdout 0.16s 36368KB
stdin
Standard input is empty
stdout
All should be concave (1):
1
1
1
1
1
1
All should be flat (2):
2
2
2
2
2
2
All should be convex (3):
3
3
3
3
3
3
All should be mixed (4):
4
4
4
4
4
4