vplayv   4년 전

14퍼 쯤에서 틀렸습니다가 뜹니다


제가 만든 인풋케이스는 모두통과하는데


어떤 테스트케이스가 있는지 알수있습니까

excelsior_hm   4년 전

혹시 어느 부분에서 반례가 있었는지 알 수 있을까요?

저도 14%에서 틀려서요..

vplayv   4년 전

이 글을 다시 보실지 모르겠는데 다음이 제코드 일부인데 강조 된부분을 봐주시길 바랍니당

inline bool Group::isBetween(Point & a, Point & b, Point & c)
{
  bool A = (getSineArea(a, b, c) == 0);
  bool B = (((a.first <= c.first) && (c.first <= b.first)) || ((b.first <= c.first) && (c.first <= a.first))) && (((a.second <= c.second) && (c.second <= b.second)) || ((b.second <= c.second) && (c.second <= a.second)));
if (A && B)
{
return true;
}
return false;
}

이쪽부분에서 선분 A(a,b)에 선분 B의 c점이 포함되어있는지 확인하는 부분인데,  

a와 b 포인트의 크기가 a<b일수도 있고, b<a일수도 있습니다.

제가 이전에 여기를 제대로 처리안해서, 틀렸는데

a<c<b 일수도 있고, b<c<a인 경우가 있을수 있어서 두가지 경우 모두 처리하니깐 성공했습니다.

vplayv   4년 전

E캠퍼스에 
5
0 2 2 0
0 2 -2 0
0 -2 -2 0
0 -2 2 0
0 0 0 1
---------------
2
4

라는 인풋케이스에서

저는 처음에 
3
3
이 나왔습니다.

excelsior_hm   4년 전

이미 처리한 부분이네요 ㅠㅠ

다이아몬드 모양 Test Case도 다 통과하는데 어느 부분에서 문제가 되는지 모르겠네요..

감사합니다!

vplayv   4년 전

====================
2
0 0 2 11
1 1 1 10
---------------
1
2
====================
6
1 1 -1 1
-1 1 -1 -1
-1 -1 1 -1
1 -1 1 1
-1 -1 1 1
-1 1 1- 1
---------------
1
6
====================
3
1 1 2 3
2 1 0 0
1 0 1 1
---------------
1
3
====================
2
1 1 1 2
1 3 3 3
---------------
2
1
====================
2
1 7 2 8
3 9 2 2
---------------
2
1
====================
2
0 0 1 0
2 0 3 0
---------------
2
1
====================
2
1 1 2 2
4 4 2 2
---------------
1
2
====================
5
0 2 2 0
0 2 -2 0
0 -2 -2 0
0 -2 2 0
0 0 0 1
---------------
2
4
====================
2
1 1 4 4
2 2 3 3
---------------
1
2
====================
12
1 1 -1 1
-1 1 -1 -1
-1 -1 1 -1
1 -1 1 1
0 2 2 0
2 0 0 2
-2 0 0 -2
0 2 -2 0
0 1 1 0
-1 0 0 -1
-1 0 0 1
1 0 0 -1
---------------
1
12
====================
6
2 5 0 0
1 7 0 0
-1 -1 0 0
0 0 -1 3
7 -9 0 0
-3000 -3000 3000 3000
---------------
1
6
====================
5
3 0 0 3
4 0 0 4
3 0 4 0
0 0 -1 -1
-1 -1 -1 7
---------------
2
3
====================
6
1 0 3 0
1 1 3 1
3 1 2 3
2 3 1 1
0 2 2 4
2 0 0 3
---------------
1
6
====================

vplayv   4년 전

8

0 0 10 10
10 0 10 10
0 10 10 10
20 0 0 20
-5 -5 100 100
-300 -300 300 300
1000 1000 0 0
0 0 1000 1000

=======================

1

8


------------------

9
1 11 80 93
46 19 7 53
72 83 99 51
84 97 42 98
73 63 94 22
44 73 79 40
58 86 13 97
34 53 30 16
34 72 3 81

========

6

4


8
1 1 3 3
2 1 2 3
3 1 1 3
3 2 1 2
4 1 4 3
1 4 3 4
1 5 3 5

2 4 2 6

===========

3

4



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