randoms   5년 전

파이썬3 으로 짰구요


제가 생각한 방법은 아래와 같습니다.


우선 == 와 != 별로 모든 요소들을 dictionary 을 이용하여 연결하였습니다.

 

그 후에 ==로만 dfs식으로 탐색해서 동치인 요소들 중에 가장 짧은것을 minsentence 에 모두 저장 하였습니다.

그래서 minsentence[A] 를 호출하면 A와 동치인 요소들 중에 가장 길이가 짧은 것을 출력하도록 하였습니다.

-> 이 과정에서 동치인 숫자가 2개이상이면 모순=True로 하였습니다. 

   숫자가 하나뿐이라면 numbering에 추가로 저장하여,

   마찬가지로 numbering[A]를 호출하면 그에 맞는 숫자가 나오도록 하였습니다.

  

그다음 totallist라는 변수 안에 출력할 모든 요소들을 모아두기위해 빈 set으로 선언하고,

우선적으로 서로서로 동치인것들을 싹 모아다가 minsentence[A] == A 가 들어가도록 하였습니다.

 

그리고 A != B 인 경우를 처리하는데, 먼저 각각 A,B의 minsentence들을 꺼내어 각각 ii,jj로 선언하고,

혹시나 a!=b, b!=a와 같은 부분이 중복해서 들어갈까봐 sorting을 하여 ii != jj를 totallist에 넣어줬습니다.

-> 이 과정에서 만약 ii==jj인 경우가 발생하면 모순=True로하고, 만약 둘 다 numbering이 된다면 넘어갔습니다.

   (1!=2 와 같은 경우는 당연하니까, 굳이 넣을 필요가 없다 판단.)

 

이렇게 짰는데 25%쯔음에서 틀렸습니다가 나오네요 ㅜㅠ 반례가 무엇일까요??

고수님들 도와주세요!!

djm03178   5년 전

"라이언이 작성하는 정수는 무조건 -109 이상 109 이하이다."

-1==1

randoms   5년 전

와 너무감사합니다 ㅠㅠㅠㅠㅠㅠ

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