알고리즘 문제 풀이/1DP_과제(~180615)

171124_1952_수영장

2017. 11. 24. 15:42

#include <iostream> using namespace std;
int min(int a, int b)
{ return a > b? b:a; }
int min(int a, int b, int c)
{ return min(a,b) > c ? c: min(a,b);}
int main()
{
int tc;
cin >> tc;
for(int T=1; T<=tc; T++)
{
int cost[4];
for(int i=0; i<4; i++) cin >> cost[i];
int plan[13];
for(int i=1; i<=12; i++) cin >> plan[i];
int d[13][3];
d[1][0]=cost[0]*plan[1];
if(plan[1]!=0)
{
d[1][1]=cost[1];
d[1][2]=cost[2];
}
else
{
d[1][1]=0;
d[1][2]=0;
}
for(int i=2; i<=12; i++)
{
bool x;
if(plan[i]==0) x=0;
else x=1;
if(i<4)
{
d[i][0]=min(d[i-1][0],d[i-1][1])+plan[i]*cost[0];
d[i][1]=min(d[i-1][0],d[i-1][1])+cost[1]*x;
d[i][2]=cost[2]*x;
}
else
{
d[i][0]=min(d[i-1][0],d[i-1][1],d[i-1][2])+plan[i]*cost[0];
d[i][1]=min(d[i-1][0],d[i-1][1],d[i-1][2])+cost[1]*x;
int cmp1=min(d[i-3][0]+ cost[2],d[i-3][1]+ cost[2],d[i-3][2]+ cost[2]);
int cmp2=min(d[i-2][0]+ cost[2],d[i-2][1]+ cost[2],d[i-2][2]+ cost[2]);
int cmp3=min(d[i-1][0]+ cost[2],d[i-1][1]+ cost[2],d[i-1][2]+ cost[2]);
d[i][2]=min(cmp1,cmp2,cmp3) ;
}
}
int min_cost=cost[3];
for(int i=0; i<3; i++)
if(d[12][i]<= min_cost) min_cost=d[12][i];
cout << "#" << T << " "<< min_cost << endl;
}
}



샘플인풋은 맞는데 tc 48/50 이다 왤까ㅠㅠ

저작자표시 비영리 (새창열림)

'알고리즘 문제 풀이 > 1DP_과제(~180615)' 카테고리의 다른 글

171126_2908_상수  (0) 2017.11.26
171125_1157_단어 공부  (0) 2017.11.25
171123_2573_빙산  (0) 2017.11.23
171123_1222_계산기1  (0) 2017.11.23
171122_11654_아스키코드  (0) 2017.11.22
'알고리즘 문제 풀이/1DP_과제(~180615)' 카테고리의 다른 글
  • 171126_2908_상수
  • 171125_1157_단어 공부
  • 171123_2573_빙산
  • 171123_1222_계산기1
bong sue
bong sue
취업 준비하면서 공부하던 블로그인데, 이제 나이가 먹어가니까 사는 준비도 해야해서 이거저거 씁니다.
bong sue
수봉수봉 신변잡기
bong sue
전체
오늘
어제
  • 분류 전체보기 (268)
    • 알고리즘 문제 풀이 (264)
      • AtCoder 문제 풀기 (4)
      • 코딩 테스트 대비(~211220) (14)
      • 1DP_과제(~180615) (246)
    • Engineering (1)
      • 디자인패턴 (0)
      • 프로그래밍 언어론 (1)
    • 독서 (0)
      • 고전 읽기 프로젝트 (0)
      • 재테크 (0)
    • 내 집 마련 (단기 프로젝트) (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • dfs
  • 탐색
  • 구현
  • 브루트포스
  • 알고스팟
  • C++
  • 백준저지
  • dp
  • bruteforce
  • BFS
  • BOJ
  • 삼성
  • 브루트 포스
  • 수학
  • 시뮬레이션
  • sort
  • 탐욕알고리즘
  • 그리디알고리즘
  • 문자열
  • 동적계획
  • ABC
  • 정렬
  • Sea
  • AtCoder
  • 문자열처리
  • 백준
  • 042
  • C언어
  • 1032
  • Olympiad

최근 댓글

최근 글

hELLO · Designed By 정상우.
bong sue
171124_1952_수영장
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.