UVa 1025 예제 9 -1 도시의 스파이.

           ,      。
  dp[i][j]   i   j  ,        。
train[maxt][maxn][2]               

#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn=55;
const int maxt=205;
const int INF=1000000000;
int t[maxn],train[maxt][maxn][2];
int dp[maxt][maxn]; 
int main()
{
    int kase=0,n,T;
    while(cin>>n>>T && n){
        int m1,m2,d;
        for(int i=1;i=1;j--){
                if(d<=T)train[d][j+1][1]=1;
                d+=t[j];
            }
        }
        for(int i=1;i=0;i--)
        for(int j=1;j<=n;j++){
            dp[i][j]=dp[i+1][j]+1;
            if(j1&&train[i][j][1]&&i+t[j-1]<=T)
                dp[i][j]=min(dp[i][j],dp[i+t[j-1]][j-1]);
        }
        cout<=INF)cout<

좋은 웹페이지 즐겨찾기