zoukankan      html  css  js  c++  java
  • 田继赛马 + 贪心算法

    如果tian最弱的一匹马比king的最弱的一匹马强,那么tian win,

    如果tian最弱的一匹马比king的最弱的一匹马弱,那么tian用这匹马与king最强的一匹马比,而相反tian用自己最强的马和king的这匹弱马相比。tian不输不赢

    如果tian最弱的一匹马比king的最弱的一匹马一样,那么考虑tian和king最强的马,如果tian的最强马给力,那么在这四匹马的较量中,tian可以赢一次。如果king的最强马给力,tian的最弱马与之较量。

    #include<stdio.h>
    
    
    
    int tian[1000];
    
    int king[1000];
    
    
    
    int comp(const void* a, const void * b){
    
        return *(int *)a - *(int *)b;
    
    }
    
    
    
    int main(){
    
        int i, j, s, e, sum, n;
    
        while(scanf("%d", &n) != EOF && n){
    
            for(i = 0; i < n; i++) scanf("%d",     &tian[i]);
    
            for(i = 0; i < n; i++) scanf("%d", &king[i]);
    
            qsort(king, n, sizeof(int), comp);
    
            qsort(tian, n, sizeof(int), comp);
    
            sum = 0;
    
            i = s = 0; j = e = n -1;
    
    
    
            while(i <= j){
    
                if(tian[i] > king[s]){
    
                    sum++; i++; s++;
    
                }else if(tian[i] < king[s]){
    
                    sum--; i++; e--;
    
                }else{
    
                    if(tian[j] > king[e]){
    
                        sum++; j--; e--;
    
                    } else{
    
                        if(tian[i] < king[e])sum--;
    
                        e--; i++;
    
                    }
    
                }
    
            }
    
    
    
            printf("%d\n",200 * sum);
    
            
    
        }
    
    }
  • 相关阅读:
    全国(省,直辖市,自治区,特别行政区)映射集合
    数据库辅助类
    时间格式化工具类
    密码加密(MD5)
    算法竞赛入门经典——第3章答案
    第三章学习小结—-转
    isalpha函数和isdigit函数
    重新实现库函数
    树状数组总结——转
    线段树——转
  • 原文地址:https://www.cnblogs.com/yujinghui/p/2961675.html
Copyright © 2011-2022 走看看