정의
화살촉 행렬 A는 행렬 의 모든 항목이 동일 가지고 0 주 대각선 위쪽 행과 왼쪽 열에에 제외한. 다시 말해, 행렬은 다음과 같아야합니다.
* * * * * * * * 0 0 0 * 0 * 0 0 0 * 0 * 0 0 * 000 * 0 * 0000 *
여기서 각 * 는 0이 아닌 항목입니다.
태스크
음이 아닌 정수의 정사각 행렬이 주어지면 위의 정의에 따라 화살촉인지 확인하십시오.
언어와 배열이 같은 것이 포인터 나 길이와 같은 것이 아닌 한 (예 : C) 행렬 크기를 입력으로 사용할 수 없습니다 . 항상 3 x 3 이상이어야합니다.
입력과 출력
입력을 받기 위해 다음 형식 중 하나를 선택할 수 있습니다.
- 기본 매트릭스 유형의 매트릭스 (언어가있는 경우)
- 2D 배열 1 (각각 하나의 행에 해당하는 1D 배열의 배열)
- 1D 배열 (매트릭스는 항상 정사각형이므로)
- 문자열 (간격을 선택했지만 어떤 식 으로든 남용하지 마십시오).
결과를 제공 할 때 표준 의사 결정 문제 정의에 따라 진실 / 거짓 값을 보고 하거나 두 가지 명확하고 일관된 값을 선택할 수 있습니다.
또한, 당신은 입력을 할 수 있고 어떤을 통해 출력을 제공 표준 방법 어떤에서, 프로그래밍 언어를 주의하면서, 이러한 허점은 기본적으로 금지되어 있습니다. 다른 형식을 선택하거나 확실하지 않은 내용이 있으면 의견을 요청하십시오.
1 : 또는 귀하의 언어와 동등한 것 (목록, 벡터 등)
예
다음 예제를 보자.
1 2 2 2 2 0 0 3 0 1 0 4 0 0 1
주 대각선의 요소는 1 1 1 1
, 맨 위 행 의 요소 는 맨 1 2 2 2
왼쪽 열의 요소가이므로 화살촉 행렬 (프로그램에서 정확한 값을보고해야 함) 1 2 3 4
입니다. 다른 모든 항목은 0 이므로 모든 조건을 충족시킵니다.
3 5 6 7 1 0 8 0 0
이 행렬은 주 대각선에 0 이 있으므로 화살촉 이 아닙니다 .
9 9 9 9 9 9 0 0 9 7 9 0 9 0 9
이것은 0 대신 7 을 포함하기 때문에 화살촉 도 아닙니다 .
더 많은 테스트 사례
진실한 :
[[1, 1, 1], [1, 1, 0], [1, 0, 1]] [[1, 2, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]] [[1, 2, 2, 2], [2, 1, 0, 0], [3, 0, 1, 0], [4, 0, 0, 1]] [[34, 11, 35, 5], [56, 567, 0, 0], [58, 0, 679, 0], [40, 0, 0, 7]]
거짓 :
[[3, 5, 6], [7, 1, 0], [8, 0, 0]] [[9, 9, 9, 9], [9, 9, 0, 0], [9, 7, 9, 0], [9, 0, 0, 9]] [[1, 0, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]] [[1, 6, 3, 4], [13, 2, 0, 6], [29, 0, 1, 0], [2, 0, 0, 4]]