问题标题: 酷町堂:5605 盲比多少游戏(game)

1
0
已解决
陈振轩
陈振轩
高级光能
高级光能
#include <iostream>
#include <algorithm>
#define fen 50
using namespace std;
int n, a[114514], b[114514], allScore;
bool cmp(int x, int y) {return x > y;}
int main(){
    cin >> n;
    for (int i = 1; i <= n; i ++) cin >> a[i];
    for (int i = 1; i <= n; i ++) cin >> b[i];
    sort(a+1, a+n+1);
    sort(b+1, b+n+1, cmp);
    for (int i = 1 ; i <= n; i++){
        for (int j = 1; j <= n; j++){
            if (a[i] > b[j]){
                a[i] = -1;
                b[j] = 510;
                allScore+=fen;
                break;
            }
        }
    }
    for (int i = 1 ; i <= n; i++){
        if (a[i] > 0) allScore -= fen;
    }
    cout << allScore;
}

本蒟蒻的代码↑

不知道是哪错了qwq

(这是由我微弱的记忆回忆的市赛代码)

好像是要用到贪心

不过我没用到(

大佬求解qwq!


0
已采纳
束礼熙
束礼熙
初级守护
初级守护

抱歉这道题只有思路·······:

这道题是关于田忌赛马的 (貌似有点像贪心的乘船问题

先从大到小排序 

然后定义四个变量 l1,r1,l2,r2  l表示当前最大的 r表示当前最小的

然后while(l1<=r1 && l2<=r2 )   这样才有数值能比较

如果当前小强最大值比小明大的话 l1++   l2++ 加上50积分

如果当前小强最小值比小明大的话 r1--   r2-- 加上50积分

否则的话 如果当前小强最小值比小明最大值小的话 减50积分 然后r1-- l2++

 

0
0
曲天歌
曲天歌
高级光能
高级光能

这题没那么简单。。。今年怕是三等奖也拿不到了。

第一道题要用long long存,10 0000*10 0000.。。。。

我要回答