zoukankan      html  css  js  c++  java
  • [ZJOI2008]泡泡堂

    贪心。
    一开始以为和田忌赛马的策略一样,码码码。。。突然发现不太对,如果就这的把最弱的卖了多亏啊。。。所以先比对一下自己家最弱的能不能干掉对手最弱的,如果不能再判一下能不能和最强的打成平局。如果不能就消耗了对面最强的即可。

    #include <algorithm>
    #include <iostream>
    #include <cstdio>
    using namespace std;
    int n,ans;
    const int N=100005;
    int a[N],b[N];
    int main() {
      scanf("%d",&n);
      for(int i=1;i<=n;i++) scanf("%d",&a[i]);
      for(int i=1;i<=n;i++) scanf("%d",&b[i]);
      sort(a+1,a+1+n);sort(b+1,b+1+n);
      int la=1,lb=1,ra=n,rb=n;
      for(int i=1;i<=n;i++){
        if(a[la]>b[lb]) la++,lb++,ans+=2;
        else if(a[ra]>b[rb]) ra--,rb--,ans+=2;
        else {if(a[la]==b[rb])ans++;la++,rb--;}
      }
      printf("%d ",ans);
      ans=0;
      for(int i=1;i<=n;i++)swap(a[i],b[i]);
      la=1,lb=1,ra=n,rb=n;
      for(int i=1;i<=n;i++) {
        if(a[la]>b[lb]) la++,lb++,ans+=2;
        else if(a[ra]>b[rb]) ra--,rb--,ans+=2;
        else {if(a[la]==b[rb])ans++;la++,rb--;}
      }
      printf("%d",n*2-ans);
    }
    
    我是咸鱼。转载博客请征得博主同意Orz
  • 相关阅读:
    要养成记录技术问题的习惯
    js排序方法
    阶乘算法练习
    简易的自定义滚动条加鼠标滑轮事件结合使用
    等虚线框的拖拽
    照片墙效果
    苹果导航菜单效果
    简易封装js库
    JQ 实现切换效果
    三级菜单
  • 原文地址:https://www.cnblogs.com/sdfzhsz/p/9370606.html
Copyright © 2011-2022 走看看