ACM준비 85

ACM Craft

https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 무작정 계산하는 방식으로는 시간초과로 해결할 수 없다. DP를 사용하여 중간값들을 배열에 저장하여 해결할 수 있었다. typedef struct { int back[1001]; int back_num; }NODE; NODE MAP[1001]; int TIME[1001]; int ORDER[1001]; void input(int src, int des) { MAP[des].back[MAP[de..

ACM준비/acmicpc 2015.10.30

미궁 속의 방

쉽게 생각할 수 있다. 격자 무늬 Square를 생각한다. 다만, 직관적인 Square를 만들기에는 Maximum Size가 M[100000][100000]이므로 적절하지 못하다. 그래서 Function을 생각한다. f( x, y ) -> N을 만든다. 사용자로부터 입력받는 4가지 방향에 따라 Position ( x, y )가 움직일 뿐이므로 아래에선 get 함수로 정의하였다. 마지막으로 Maximum Size일 경우 INT32값을 넘으므로 배열의 자료형은 long long을 사용해서 해결했다. #define _INT64 long long using namespace std; _INT64 A[200000]; int N; void first() { A[0] = 1; int _n = N; for (int i..

ACM준비/SCPC 2015.10.15

다트 게임

구현 문제이다. 다트에 해당하는 점수를 얻는 함수를 구현해야 하는게 일이다. get 함수에 더러운 if, else if는 그 부분이며 앞 부분은 다트의 Position ( x, y )으로 부터 arctan함수를 사용하여 ceta값을 구하고 다트 판의 점수를 얻는 부분이다. #define PI 3.141592 #define _d 18 using namespace std; int get(int x, int y) { double ceta = atan2(y, x ); if(ceta angle && angle > first) return 13; else if (first + _d*2 > angle && angle > first + _d) return 4; else if (first + _d * 3 > angle ..

ACM준비/SCPC 2015.10.15

시험 공부

내림차순으로 퀵소트 정렬을 끝낸 뒤 K개 만큼 더하여 해결했다. using namespace std; bool comp(int a, int b) { return (a > b); } int main(int argc, char** argv) { int T; int test_case; /* 아래 freopen 함수는 input.txt 를 read only 형식으로 연 후, 앞으로 표준 입력(키보드) 대신 input.txt 파일로 부터 읽어오겠다는 의미의 코드입니다. 만약 본인의 PC 에서 테스트 할 때는, 입력값을 input.txt에 저장한 후 freopen 함수를 사용하면, 그 아래에서 cin 을 사용하여 표준 입력 대신 input.txt 파일로 부터 입력값을 읽어 올 수 있습니다. 따라서 본인의 PC 에서..

ACM준비/SCPC 2015.10.14

프로그래밍 경진대회

내림차순 정렬은 쉽게 생각할 수 있다. 다만, 조심해야 하는 점이 정렬 후 Maximum값이 해당 배열의 최대값이 아니다. 동률의 점수를 가진 Player는 뒤에서 Maximum값이 나오므로 그 부분을 주의한다. using namespace std; bool comp(int a, int b) { return (a > b); } int main(int argc, char** argv) { int T; int test_case; /* 아래 freopen 함수는 input.txt 를 read only 형식으로 연 후, 앞으로 표준 입력(키보드) 대신 input.txt 파일로 부터 읽어오겠다는 의미의 코드입니다. 만약 본인의 PC 에서 테스트 할 때는, 입력값을 input.txt에 저장한 후 freopen 함수..

ACM준비/SCPC 2015.10.14

XHAENEUNG

https://algospot.com/judge/problem/read/XHAENEUNG algospot.com :: XHAENEUNG 째능 교육 문제 정보 문제 산업 기능 요원 복무를 무사히 마치고 학교로 돌아온 xhae는 최근 복학을 위한 많은 지출로 인해 자금난에 허덕이고 있었다. 이러한 xhae가 선택한 일은 다름 아닌 째능 algospot.com 숫자 MAP을 생성함. 입력받은 숫자를 매핑하여 Integer로 변환함. +, -, * 연산자에 따라 수행함. #define Interval 97 int MAP[11][26]; void MapSet(int Num, char *str) { int Len = strlen(str); for (int i = 0; i < Len; i++) ++MAP[Num][s..

ACM준비/algospot 2015.10.06

BUNT

https://algospot.com/judge/problem/read/BUNT algospot.com :: BUNT 번트의 장인 문제 정보 문제 콩대 야구부의 조인성 타자는 번트의 장인이다. 그는 투수가 어떤 공을 던지든 일정한 범위 내에서 자신이 원하는 위치로 공을 정확하게 보낼 수 있는 능력을 가지 algospot.com 번트가 야외를 넘어가는 경우는 못함. #define PI 3.14159265359 int main() { int T; for (scanf("%d", &T); T > 0; T--) { double d, r, vt, t, vh; double result; scanf("%lf %lf %lf %lf %lf", &d, &r, &vt, &t, &vh); if (vt == 0) result =..

ACM준비/algospot 2015.10.02

BOOKSTORE

https://algospot.com/judge/problem/read/BOOKSTORE algospot.com :: BOOKSTORE 인터넷 서점 문제 정보 문제 새 학기가 시작되면 항상 부담되는 것이 비싼 교과서 가격이다. 오랜 병특 생활을 마치고 복학한 스탱은 이번 학기에 사야 하는 N 권의 교과서를 인터넷 서점에서 사 algospot.com 아래 케이스를 생각하지 못했음. 1 2 1 6000 5000 1000 0 정답은 6000원임. 현재 가격에서 마일리지를 차감하여 계산한 방식으로는 2000원이므로 오답임. 구매한 책의 마일리지를 다음 책에서 모두 사용할 수 없는 경우를 생각해야함. #include typedef struct{ int price, point; }_ds; _ds MAP[201][1..

ACM준비/algospot 2015.10.01