dp문제다. 그것도 3차원 어떻게 어찌어찌 하다 보니까 맞았던 문제다. #include #include using namespace std; long long int a, dp[100000][5][5], minn=5; int min1, min2; vector v; int dis(int a, int b){ if(a==0 or b==0) return 2; if(a==b) return 1; if(abs(a-b)==2) return 4; else return 3; } int main(){ while(cin >> a){ if(a==0) break; v.push_back(a); } if(v.size()==0){ cout