ekdns7952   5년 전

그 제가 이거 규칙을 생각 했는데..
a는 행순으로 b는 열순으로 움직여서 이렇게 움직이는 데 
 입력을 이렇게  하면
3
1 1 0
0 1 0
0 0 1
1 0 0
1 1 1
0 0 1
1 1 1
1 1 1
1 1 1
이 나오게 되는 데 ;;;
b74838dd-ffae-4a1f-9d9d-8bbe39e311ca

jh05013   5년 전

1 1 1

1 1 1

0 0 1

이 나와야 합니다.

ekdns7952   5년 전

그 이유 좀 알려 주세요 ㅠㅠ

열 셋쨋줄 첫번째 a와 행 3쨋줄 첫번째 b가 둘다 0이니 1로 나와 뒤에 있는 것들도 다  1 1 1이 되야지 않아요??

jh05013   5년 전

둘 다 0이면 곱해서 0이 나와야 합니다.

행렬 곱셈과 똑같은데 0보다 큰 것들은 다 1로 간주한다고 생각하시면 됩니다. 첫 번째 예제는 행렬 곱셈을 하면

2 1 1

1 1 1

0 0 1

이 나오므로, 0보다 큰 것들을 다 1로 바꾸면

1 1 1

1 1 1

0 0 1

이 나옵니다.

ekdns7952   5년 전

a24282f1-5a40-4023-ad02-edd7bc2991e1

일단 순서가 이건 맞죠? 그리구

ㅠㅠ 도대체 조건을 어떻게 해야 돼요?? 

 if (a[i][x] == b[x][i])

 for (; x < n; x++)

 {

 a[i][x] = 1;

 t += 1;   

이렇게 하면 2예제만 되고,

 if ( a[i][x] + b[x][i] >0) 

 for (; x < n; x++) 

 {

 a[i][x] = 1;

 t += 1; 

 } 

이걸  하면 예제 1만 엉터리로 되고 조건을 어떻게 해야 되는 지 모르겠어요 ㅜㅜ

jh05013   5년 전

일단 혹시 행렬의 곱셈을 아시나요?

ekdns7952   5년 전

덕분에 잘 풀었습니다.ㅎㅎ

예제가 준대로 처음으로 잘 출력이 됬습니다.

근데 제출을 하니 틀렸다고 나오네요. ㅠㅠ

반례때문에 그런 거겠죠??

(제가 설정한 숫자로 바꿔 서 하면 잘만 나오는데 ..)

좀 도와 주세요^^

jh05013   5년 전

1의 오른쪽에 0이 오는 것도 얼마든지 가능합니다.

2
1 0
0 1
1 0
0 1

오른쪽 위가 비어 있어야 합니다.

ekdns7952   5년 전

감사합니다.드뎌 풀었네요. ㅠㅠ

한 열에서 1이 하나라도 있으면 그 뒤부터 계속 1이 써지는 줄 알았는데 ㅎㅎ (아니었네요

cij = (ai1∧b1j)∨(ai2∧b2j)∨...∨(ain∧bnj)

덕에 풀었습니다. 감사합니다 .ㅠㅠ

314805ed-0a0f-47a5-b158-c878a71ae8cf

댓글을 작성하려면 로그인해야 합니다.