zoukankan      html  css  js  c++  java
  • BZOJ 1034: [ZJOI2008]泡泡堂BNB 贪心+排序

    比较神奇的贪心       

    有点类似于田忌赛马. 

    如果我方最弱强于对面最弱,则直接最弱pk最弱. 

    如果我方最强强于对面最强,那么直接最强间pk.  

    否则,试着用我方最弱 pk 对方最强,看是否能打成平手. 

    code: 

    #include <bits/stdc++.h> 
    #define N 100006 
    #define setIO(s) freopen(s".in","r",stdin)   
    using namespace std; 
    int solve(int a[],int b[],int n) 
    {  
        int ans=0; 
        int h=1,t=n,l=1,r=n;    
        while(h<=t&&l<=r)  
        {
            if(a[h]>b[l]) 
            {
                ans+=2; 
                ++h,++l; 
            }
            else if(a[t]>b[r]) 
            {
                ans+=2;   
                --t,--r;  
            }
            else
            {
                ans+=(a[h]==b[r]);   
                ++h,--r; 
            }
        }
        return ans; 
    }
    int arr[N],brr[N];  
    int main() 
    {  
        // setIO("input");  
        int i,j,n; 
        scanf("%d",&n); 
        for(i=1;i<=n;++i) 
        { 
            scanf("%d",&arr[i]); 
        }  
        for(i=1;i<=n;++i) 
        {
            scanf("%d",&brr[i]); 
        }
        sort(arr+1,arr+1+n); 
        sort(brr+1,brr+1+n); 
        printf("%d %d",solve(arr,brr,n),2*n-solve(brr,arr,n));    
        return 0; 
    }
    

      

  • 相关阅读:
    进制
    enum
    文件操作fstream
    文件读取 FILE
    static_cast、dynamic_cast、reinterpret_cast、和const_c
    std::max 错误
    boost 时间
    c++ new 和delete
    c++ static静态
    BOOST 之filesystem, path
  • 原文地址:https://www.cnblogs.com/guangheli/p/12050546.html
Copyright © 2011-2022 走看看