zoukankan      html  css  js  c++  java
  • 1160-繁杂的道路

    描述

    A城是由许多小城镇组成的,在A城的各个小城镇间建了许多道路(道路是双向的)。这些道路是A城便利交通的基础。游客通过这些道路可以在任意两个城镇之间往返。最近市长对这座城市错综复杂的交通感到厌烦,决定重新规划A城的道路。所以他派给你一个任务:留下尽可能少的道路,保证任意两个城镇之间还是可达的。将其他多余的道路全部拆除。

    输入

    第一行为两个正整数n1<=n<=100)和mn表示A城中小城镇的数量。M表示现有道路的数量。接下来是m行,每行用两个数v1v2表示一条从城镇v1到城镇v2的道路。( v1!=v2),两个城镇之间至多有一条道路。

    输出

    输出最多能够拆除的道路数量。

    样例输入

    5 7

    4 6

    1 2

    1 3

    1 4

    2 3

    2 4

    3 4

    样例输出

    3

    #include<iostream>
    using namespace std;
    #define MAXT 1001
    #define MAXK 31
    inline int max(int a,int b)
    {
        return a>b?a:b;
    }
    int main()
    {
        int t,k,i,j;
        cin>>t>>k;
        int a[MAXT];
        int p[MAXT][MAXK];
        for(i=1;i<=t;i++)
            cin>>a[i];
        p[0][0]=0;
        for(i=1;i<=t;i++)
        {
            p[i][0]=p[i-1][0]+a[i]%2;
            for(j=1;j<=k;j++)
            {
                p[i][j]=max(p[i-1][j-1],p[i-1][j])+(j%2==(a[i]-1)?1:0);    
            }
        }
        int max=0;
        for(j=1;j<=k;j++)
            if(p[t][j]>max) max=p[t][j];
        cout<<max<<endl;
        return 0;
    } 
    

      

  • 相关阅读:
    ios风场
    ios avplayer 视频播放器
    iOS 微信支付
    ios 支付宝
    IOS 归档
    ios 友盟统计
    iOS OC部分 NSString
    ios 程序员
    Ios 一个很好用的图片选择器
    mac系统U盘装机 一个被系统坑过的路人
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436960.html
Copyright © 2011-2022 走看看