头像

Allen-Joy

大滕帝国




离线:5天前





问题 I: 伙伴【c++基础 数组 计数】


[命题人 : 外部导入]

时间限制 : 1.000 sec  内存限制 : 128 MB


解决: 14提交: 36统计




题目描述 


近来,程序社团开始“创客”——用程序来开发一种“找伙伴的数字游戏”。这个伙伴游戏将玩家分为A和B二组。每组每个玩家可以得到一个数字号码。 

游戏规则是这样的:A组里的每个人的数字与B组里每个人的数字进行“数字配对”——即加法运算,若运算的结果恰巧是B组内其他玩家手捏的数字号码,那么游戏就可以累计一个分值,这个分值就是B组内这个“恰巧”的数字号码。当然,在B组内“恰巧”的数字号码可能不止一个,游戏允许再次累计。 

比如加法运算后的“恰巧”的数字是3,而B组内共有2个玩家捏有此数字,那么本组就可以得到6分。 
你是游戏的开发者之一,你需要迅速计算出找伙伴游戏的最终得分。  


输入 


第一行有二个数字n和m,分别表示A组和B组的人数。


第二行有n个整数ai,每个整数之间有一个空格,表示n个玩家手中的数字号码。 

第三行有m个整数bi,每个整数之间有一个空格,表示m个玩家手中的数字号码。 



输出 

只有一行,一个数字s,表示游戏的最终分数。   



样例输入 Copy 

3 3
3 5 6 
2 7 4




样例输出 Copy 

14




提示 


A组内捏有”3”的玩家与B组内三个玩家进行“数字配对”,遇4时相加后,发现B组内有一个恰巧的数字“7”; 

A组内捏有“5”的玩家与B组内三个玩家进行“数字配对”,遇2相加后,发现B组内有一个恰巧的数字“7”; 

当A组内捏有“6”的玩家与B组内三个玩家进行“数字配对”,无论与谁的数字相加,都没有在B组发现一个恰巧的数字; 

因此最终结果是:7+7=14。 

【数据规模】 

30%的数据,1<=n,m<=3,1<=ai,bi<=100 

50%数据,1<=n,m<=100,1<=ai,bi<=100 

70%数据,1<=n,m<=10000,1<=ai,bi<=100 
100%数据,1<=n,m<=100000,1<=ai,bi<=100 

帮个忙吧大哥们



新鲜事 原文

Allen-Joy
1个月前
CSP初赛RP++


活动打卡代码 AcWing 868. 筛质数

Allen-Joy
1个月前
#include <iostream>
using namespace std;
const int N=10000010;
int primes[N],cnt;
bool st[N];
int n;

void get_primes(int n){
    for(int i=2;i<=n;i++){
        if(!st[i]) primes[cnt++]=i;
        for(int j=0;primes[j]<=n/i;j++){
            st[primes[j]*i]=true;
            if(i%primes[j]==0) break;
        }
    }
}

int main(){
    cin>>n;
    get_primes(n);

    cout<<cnt<<endl;

    return 0;
}


活动打卡代码 AcWing 456. 车站分级

Allen-Joy
1个月前
_**#include <iostream>
using namespace std;
int main(){
    int a,b;
    int cnt=0;
    cin>>a>>b;
    for(int i=1;i<=a;i++){
        for(int j=i;j;j/=10){
            if(j%10==b) cnt++;
        }
    }
    cout<<cnt;


    return 0;
}**_


活动打卡代码 AcWing 469. 成绩

Allen-Joy
1个月前
#include <iostream>
using namespace std;
int main(){
    int a,b,c;
    int sum;
    scanf("%d%d%d",&a,&b,&c);
    sum=a*0.2+b*0.3+c*0.5;
    cout<<sum<<endl;




    return 0;
}


活动打卡代码 AcWing 1161. 数字游戏

Allen-Joy
1个月前
#include <iostream>
#include <cstring>
using namespace std;
const int N = 10;
char s[N];

int main(){
    scanf("%s",&s);
    int res=0;
    int l=strlen(s);
    for(int i=0;i<l;i++){
        if(s[i]=='1') res++;
    }
    cout<<res<<endl;

    return 0;
}


活动打卡代码 AcWing 423. 采药

Allen-Joy
1个月前
#include <iostream>
using namespace std;
const int N=1010;
int f[N];
int v[N],w[N];
int n,m;
int main(){
    cin>>m>>n;
    for(int i=1;i<=n;i++){
        cin>>v[i]>>w[i];
    }

    for(int i=1;i<=n;i++){
        for(int j=m;j>=v[i];j--){
            f[j]=max(f[j],f[j-v[i]]+w[i]);
        }
    }
    cout<<f[m]<<endl;
    return 0;
}


活动打卡代码 AcWing 422. 校门外的树

Allen-Joy
1个月前
#include <iostream>
using namespace std;
const int N=10010;
bool trees[N];

int l,m;
int cnt=0;
int main(){
    cin>>l>>m;
    while(m--){
        int left,right;
        cin>>left>>right;
        for(int i=left;i<=right;i++){
            trees[i]=true;
        }
    }


    for(int i=0;i<=l;i++){
        if(trees[i]==false) cnt++;
    }
    cout<<cnt<<endl;
    return 0;

}


活动打卡代码 AcWing 421. 陶陶摘苹果

Allen-Joy
1个月前
#include <iostream>
using namespace std;
const int N=20;
int x[N];
int h,cnt=0;
int main(){
    for(int i=0;i<10;i++){
        cin>>x[i];
    }
    cin>>h;
    for(int i=0;i<10;i++){
        if(x[i]<=h+30) cnt++;
    }
    cout<<cnt;


    return 0;
}



活动打卡代码 AcWing 786. 第k个数

Allen-Joy
2个月前

**[//]: # (打卡模板,上面预览按钮可以展示预览效果 ^^)

#include <iostream>
using namespace std;
const int N=100010;
int q[N];
int n,k;

void quick_sort(int q[],int l,int r){
    if(l>=r){
        return;
    }

    int i=l-1,j=r+1,x=q[l+r>>1];

    while(i<j){
        do i++;while(q[i]<x);
        do j--;while(q[j]>x);
        if(i<j) swap(q[i],q[j]);
    }

    quick_sort(q,l,j);
    quick_sort(q,j+1,r);

}

int main(){
    scanf("%d%d",&n,&k);

    for(int i=0;i<n;i++){
        scanf("%d",&q[i]);
    }

    quick_sort(q,0,n-1);

    cout<<q[k-1]<<endl;

    return 0;
}

**