2016년 4월 26일 화요일

BOJ 1078

슬랙에서 뒤집음이라는 문제가 언급되길래 봤는데.. 맞은 사람도 거의 없고 채점현황이 거의 다 틀렸습니다, 시간초과로 차있다.

그래도 문제는 간단해 보여서 한 번 도전해봤는데... 그냥 brute force로 다 해봤는데...역시나 틀렸다.
이게 백만까지의 수가 입력으로 주어지는데 검사하려면 백만 넘어서까지 검사를 해봐야 하는데 그러면 시간 제한을 넘을 수 밖에 없다...

음.. 그래서 한 번 내가 직접 출력을 해보았다.. 어쩌다 출력을 할 생각을 했는지... ㅋㅋ 여튼 출력하는데도 느려서 파일입출력으로 쫙 뽑아 보면 좋을텐데...라고 생각했다.
파일입출력 좀 공부좀 하자.. 아 근데 어차피 속도는 똑같으려나..

여튼 그런데 정말 어쩌다 내가 출력할 생각을 했는지 몰라도 정말 신기한 결과, 놀라운 결과가 나왔다...
일단 초반밖에 안 보고 껐는데.. d가 9의 배수인 경우에만 x가 존재할 수 있는 것이다...이게 정말이라면 모든 수에 대해 해당한다면 ... d값이 들어왔을 때 9의 배수가 아니면 바로 -1출력하고..음 근데 내가 다시 해보니... 100전까지는 9의 배수인 경우 x가 존재하는데,
그 이후로는 9의 배수라고 해서 무조건 x가 존재하지는 않는다.
하지만 x가 존재하는 경우는 다 d가 9의 배수일 때 인 것 같다..
다시 봐야겠다...

지금 10000까지 돌려보면서 x가 존재하는 경우만 출력하면서 , 그 i값을 9로 나눈 나머지도 같이 옆에 출력시키는 중이다.. 쿨러가 엄청 돌아간다...
이렇게 보면 10000까지는 ...x가 존재하는 경우는 d가 9의 배수일 때만인지 아닌지 알 수 있을듯..

일단은 다 0이다... 10000까지는 d가 9의 배수여야만 x가 존재하는 것 같은데...
그렇다면 9의 배수가 아닌 경우는 -1을 출력해주고
9의 배수가 들어오면 검사를 해보면 되려나... 근데 검사 범위를 어디까지 해야할지..
입력 최대값은 백만인데 백만이 나오려면 x값 후보를 어디까지 검사해야할까..
일단 백만은 9의 배수가 아니니까 한번 구십구만구천...이거로 실험해봐야지.. 그런데 그런다고 알 수 있는 것도 아닌데...

시간이 너무 오래 걸린다...
...음 일단 다음에 풀자...
휴...

댓글 없음:

댓글 쓰기