zoukankan      html  css  js  c++  java
  • [恢]hdu 1052

    2011-12-17 04:11:34

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=1052

    题意:田忌赛马,给n个马匹的速度,胜+200,负-200,平的话什么都不做。问最多得多少钱。

    mark:写了一个二分图匹配,但是发现有平的情况真是非常不好处理,应该需要最佳匹配才能解决。

    这里直接用贪心的结论了。

    代码:

    # include <stdio.h>
    # include <stdlib.h>


    int a[1010], b[1010] ;
    int n ;


    int gao()
    {
    int i ;
    int p1=0,p2=0,q1=n-1,q2=n-1;
    int ans = 0 ;

    for (i = 0 ; i < n ; i++)
    {
    if (a[p1] < b[p2] || b[q2] > a[q1])
    p1++, q2--, ans-- ;
    else if (a[p1] > b[p2])
    p1++, p2++, ans++ ;
    else if (a[q1] > b[q2])
    q1--, q2--, ans++ ;
    else ans -= (a[p1] != b[q2]), p1++, q2-- ;
    }
    return ans ;
    }


    int cmp(const void *a, const void *b)
    {
    return *(int*)a - *(int*)b ;
    }


    int main ()
    {
    int i ;
    while (~scanf ("%d", &n) && n)
    {
    for (i = 0 ; i < n ; i++)
    scanf ("%d", &a[i]) ;
    for (i = 0 ; i < n ; i++)
    scanf ("%d", &b[i]) ;
    qsort (a, n, sizeof (int), cmp) ;
    qsort (b, n, sizeof (int), cmp) ;
    printf ("%d\n", gao() * 200) ;
    }
    }



  • 相关阅读:
    JavaScript脚本的两种放置方式
    对象 属性 事件 方法
    媒体查询
    HTML5布局
    图像
    布局
    列表,表格,表单
    盒子
    vue.js常见面试题及常见命令介绍
    Winform读报工具
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2315076.html
Copyright © 2011-2022 走看看