UVa:1424 Salesmen

역시 심플DP.
dp[i][j]는 i번째 문자가 j일 때의 최소 수정 포인트를 나타낸다.
이렇게 하면 i-1과 i 사이의 j와 k가 인접하거나 같은지 여부를 통해 이동할 수 있다. 만약에 서열의 i번째 숫자가 k와 다르면 1을 추가해야 한다.
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define ll long long
#define INF 2139062143
#define inf -2139062144
#define MOD 20071027
#define MAXN 105
using namespace std;
int dp[205][MAXN];
bool gl[MAXN][MAXN];
int arr[205];
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        memset(gl,0,sizeof(gl));
        int n1,n2;
        scanf("%d%d",&n1,&n2);
        int x,y;
        for(int i=0; i

 

좋은 웹페이지 즐겨찾기