fork(1) download
  1. #include <cstdio>
  2. int sign(double x){
  3. return (x > 0) - (x < 0);
  4. }
  5.  
  6. int main() {
  7. size_t n; scanf("%d", &n);
  8. double x[n][n];
  9. for(size_t i = 0; i < n; i++)
  10. for(size_t j = 0; j < n; j++)
  11. scanf("%lf", &x[i][j]);
  12.  
  13. if(n >= 1) {
  14. for(size_t i = 0; i < n; i++){
  15. /*последовательность монотонна, если сохраняет знак разность
  16. между N-м и (N-1)-м членом последовательности.*/
  17. int prev_sign = sign(x[i][1] - x[i][0]); //знак разности первой пары чисел
  18. bool monotonic = true;
  19. for(size_t j = 1; j < n; j++){
  20. int new_sign = sign(x[i][j] - x[i][j - 1]); //знак разности следующей пары
  21. if(prev_sign * new_sign <= 0){
  22. monotonic = false;
  23. j = n;
  24. }
  25. prev_sign = new_sign; //новая пара для сравнения
  26. }
  27. if(monotonic) printf("%d ", i + 1);
  28. }
  29. }
  30. else printf("1\n");
  31. return 0;
  32. }
Success #stdin #stdout 0s 3340KB
stdin
2
1 1
0 0 
1
10
2
1 2
2 1

4
1	2	2	1
0	1	2	3
0.3	11	-2	3
0	0	1	1

3
1	2	2
-1	10	15
3	2	1

3
1	1	1
2	2	2
3	3	3

4
1	2	2	1
0	1	122423446	232344534466
0.3	11 -2 	3
0	0	1	1
stdout
Standard output is empty