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

0
0
已解决
胡景波
胡景波
中级光能
中级光能

5605   盲比多少游戏(game)

经验值:2000 时间限制:1000毫秒

合肥市第37届信息学竞赛

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

小强和小明两位小朋友在玩一个盲比多少的游戏, 游戏规则非常简单:每次手握一定数量的小弹珠出拳, 谁手中的小弹珠多,
谁就算赢,赢家不仅可以获得输家本次出拳的小弹珠,还可以得到50积分的奖励,输家则被扣除50分奖励;
如果弹珠数量一样, 则不计积分。经过若干次的出拳,最后赢家就可以得到一定的积分。假设最后赢家是小强,你可以通过安排出拳时手握弹珠数量,使小强获得最多积分。开始时两人积分都为0。

输入描述 Input Description

共3行,第一行一个正整数n (1≤n≤1000) ,表示总共出拳次数,第二行有n个由空格分隔的正整数,表示小强每次出拳时手握的弹珠数,第三行有n个由空格分隔的正整数,表示小明出拳时手握弹珠数。注意出拳时手握弹珠数不一定按照给出的顺序进行。

输出描述 Output Description

共1行一个整数,表示小强可获得的最大积分。

样例输入 Sample Input

3 1 5 3 2 4 6

样例输出 Sample Output

50

数据范围及提示 Data Size & Hint

样例解释:共出拳3次,第一次小强手握1个弹珠,小明手握6个弹珠,小强输;第二次小强手握5个弹珠,小明手握4个弹珠,小强赢;第三次小强手握3个弹珠,小明手握2个弹珠,小强赢;小强两赢一输,总积分为50分。
数据范围:1≤n≤1000,每次出拳时手握弹珠数不超过500。
 

 

#include<iostream>
#include<algorithm>
using namespace std;
int n,a[1005],b[1005],clear[1005],ans;
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);
    for(int i=1;i<=n;i++){
        bool l=false;
        int maxw=-1,t=0;
        for(int j=1;j<=n;j++){
            if(b[i]<a[j]&&clear[j]==false){
                ans+=50;
                l=true;
                clear[j]=true;
                break; 
            }
        }
        if(l==false){
            for(int j=1;j<=n;j++){
                if(clear[j]==false){
                    clear[j]=true;
                    ans-=50;
                    break;
                }
            }
        }
    }
    cout<<ans;
    return 0;
}


0
已采纳
李锦昊
李锦昊
中级天翼
中级天翼
while(l1<=r1){
        if(a[r1]>b[r2]){
            r1--;
            r2--;
            win++;
        }
        else if(a[r1]<b[r2]){
            l1++;
            r2--;
            lose++;
        }else{
            if(a[l1]>b[l2]){
                l1++;
                l2++;
                win++;
            }
            else{
                if(a[l1]<b[r2])
                    lose++;
                    l1++;
                    r2--;
            }
        }
    }

这是求赢得和输的次数的代码

最后计算出得分

0
0
0
0
武奕楷
武奕楷
新手天翼
新手天翼

if(小强最大 大于 小明最大) {
小强最大 对战 小明最大
} else if(小强最大 小于 小明最大) {
小强最小 对战 小明最大 
} else {
if(小强最小 小于 小明最小) {
小强最小 对战 小明最大
} else if(小强最小 大于 小明最小) {
小强最小 对战 小明最小
} else {
小强最小 对战 小明最大

}

0
我要回答