问题标题: 酷町堂:我也不知道我考试怎么做出来5605的

1
1
已解决
包涵宇
包涵宇
中级天翼
中级天翼

还记得去年的市赛吗???

---------------------------

(你们都知道)

呵呵,没想到,我现在就做了70分

代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<map>
#include<queue>
#include<cmath>
#include<vector>
using namespace std;
int a[1005],b[1005],n,s;
bool go[1005];
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+1+n);
    sort(b+1,b+1+n);
    for(int i=n;i>=1;i--){
        int t=-1;
        for(int j=n;j>=1;j--){
            if(a[i]>b[j]&&!go[j]){
                t=j;
                break;
            }
        }
        if(t==-1){
            int tt=-1;
            for(int j=n;j>=1;j--){
                if(a[i]==b[j]&&!go[j]){
                    tt=j;
                    break;
                }
            }
            if(tt==-1){
                for(int j=n;j>=1;j--){
                    if(!go[j]){
                        go[j]=1;
                        break;
                    }
                }
                s-=50;
            }
            else{
                go[tt]=1;
            }
        }
        else{
            go[t]=1;
            s+=50;
        }
    }
    cout<<s;
    return 0;
}

各位大佬,帮我改改吧


1
已采纳
朱优扬
朱优扬
中级天翼
中级天翼

哈哈~

my AC代码:

PS:代码是葛老师写的
    输入>>n;
    l1=l2=1;
    r1=r2=n;
    循环(int i=1;i<=n;i++)    cin>>a[i];
    排序(a+1,a+n+1);
    循环(int i=1;i<=n;i++)    cin>>b[i];
    排序(b+1, b+n+1);
    循环(看的出来是whi**吧?)(l1<=r1){
        如果(a[r1]>b[r2]){
            r1--;
            r2--;
            ying++;
        }
        否则 如果(a[r1]<b[r2]){
            l1++;
            r2--;
            shu++;
        }
        否则{
            如果(a[l1]>b[l2]) {
                l1++;
                l2++;
                ying++;
            } 
            否则{
                如果(a[l1]<b[r2])
                    shu++;
                l1++;
                r2--;
            }
        }
    } 
    cout<<50*(ying-shu);

 

0
鲁屹宸
鲁屹宸
初级守护
初级守护

???

葛老师写的,你怎么知道

 

0
0
0
我要回答