본문 바로가기

IT/BOJ117

백준(BOJ) 2665 미로만들기 * # BFS 어렵지않은 BFS 문제이다. 유의해야 할 점은 방문한 칸에 대한 값 저장만 잘 해주면 될 듯! #include #include #include #include #define MAX 55 #define INF 2123456789 using namespace std; typedef long long ll; typedef pair pi; // p는 좌표값, black은 화이트로 만든 칸의 갯수 struct st{ pi p; int black=0; }; int n; int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; // map은 입력 받아 온것 , visit은 해당 좌표까지 오는데 black의 최소 값 int map[MAX][MAX],visit[MAX][MAX]; char str[.. 2019. 3. 13.
백준(BOJ) 16189 Repetitive Palindrome * # 단순 구현 지문을 읽어보면 반복시키면 뭔가 반례가 나올 것 처럼 되어있지만, 결국 펠린드롬인 문장을 반복시켜야 펠린드롬이 된다. -> 주어진 문장 펠린드롬인지 검사하면 된다. #include #include #include #include #include using namespace std; char str[250005]; long long n; bool find() { int len = strlen(str); for (int i = 0; i < len/2; i++) { if (str[i] != str[len - i-1]) return false; } return true; } int main() { scanf("%s%lld", str, &n); if (find()) printf("YES"); els.. 2018. 10. 7.
백준(BOJ) 16190 Rising Sun ** # ccw #include #include #include using namespace std; int n; pair pos[2001]; pair home; int ans = -1; long long ccw(pair a, pairb, pair c) { return a.first * b.second - b.first*a.second + b.first *c.second - c.first *b.second + c.first * a.second - a.first * c.second; } int main() { scanf("%d", &n); for (int i = 0; i < 2 * n; i++) scanf("%lld", &pos[i].first); scanf("%lld", &home.first); for (in.. 2018. 10. 7.
백준(BOJ) 16192 Voronoi Diagram Returns * # 단순 구현 영어여서 어려워 보이는 것이고 n, q의 범위가 작아서 query 한 점과 모든 n 점에 대해서 비교하여 거리가 가장 작은 점의 갯수가(예를들어, 거리가 3이 가장 작다면 3인점이 여러개가 있을 수 이싸.)1개면 REGION2개면 LINE3개 이상이면 POINT가 됩니다. 아 그리고 NONE인 경우는 나올 수가 없다. # 실수 했던 점 3개가 아니고 3개 이상이어야 한다^^; #include #include #include #include #include using namespace std; typedef long long ll; int n, m; pair p[2005], q[250005]; int fun(int x1, int y1, int x2, int y2) { int x = x1 - .. 2018. 10. 7.