BRAVEDUCK 확인부탁드립니다. DevPooh 질문 기존의 테스트케이스와 특정 테스트케이스를 만들어서 테스트 후 정답 제출을 하고 있는데 오답이 나오는데 혹시 제가 놓치고 있는 부분이 있는지 알려주시면 감사하겠습니다. Soucre code 코드 블럭 문법을 다음과 같이 사용하실 수 있습니다. #include <iostream> #include <cmath> #include <queue> using namespace std; typedef struct _Stone { double x, y; bool visit; } Stone; bool JumpCheck(Stone t1, Stone t2, double J) { double tJ = sqrt(((t1.x - t2.x) * (t1.x - t2.x)) + ((t1.y - t2.y) * (t1.y - t2.y))); if(tJ <= J) { return true; } return false; } int main(void) { int T, J, N; queue<Stone> qStone; Stone tStart, tEnd; Stone tStone[3000]; cin >> T; while(T--) { tEnd.visit = false; while(!qStone.empty()) { qStone.pop(); } cin >> J; cin >> tStart.x >> tStart.y; cin >> tEnd.x >> tEnd.y; cin >> N; for(int i = 0; i < N; i++) { cin >> tStone[i].x >> tStone[i].y; tStone[i].visit = false; } for(int i = 0; i < N; i++) { if(JumpCheck(tStart, tStone[i], J)) { tStone[i].visit = true; qStone.push(tStone[i]); } } while(!qStone.empty()) { for(int i = 0; i < N; i++) { if(JumpCheck(qStone.front(), tStone[i], J) && tStone[i].visit == false) { tStone[i].visit = true; qStone.push(tStone[i]); } } if(JumpCheck(qStone.front(), tEnd, J)) { tEnd.visit = true; break; } qStone.pop(); } if(tEnd.visit) cout << "YES" << endl; else cout << "NO" << endl; } return 0; } 10년 전
1개의 댓글이 있습니다. Being 여러 개의 테스트 케이스가 한 입력에 주어지는 경우에 문제가 일어나진 않을지 잘 생각해 보세요. 10년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
DevPooh
질문
Soucre code
코드 블럭 문법을 다음과 같이 사용하실 수 있습니다.
10년 전