1. 程式人生 > >晚餐隊列安排

晚餐隊列安排

不同 printf %d spa tdi ace mes pan post

題目

有兩種不同的狀態,每種狀態的轉移也不同。
很適合練dp
做dp是要根據狀態的類型,設計不同的數組

很好的題

#include<iostream>
#include<cstdio>
using namespace std;
int dp[30001][2];
int main()
{
    int n;
    scanf("%d",&n);
    int in;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&in);
        if(in==1
) { dp[i][0]=dp[i-1][0]; dp[i][1]=min(dp[i-1][0],dp[i-1][1])+1; } if(in==2) { dp[i][1]=min(dp[i-1][0],dp[i-1][1]); dp[i][0]=dp[i-1][0]+1; } } printf("%d",min(dp[n][0],dp[n][1])); }

晚餐隊列安排