coderforce 489B B. BerSU Ball

来源:互联网 发布:战争程序员白濑 动漫 编辑:程序博客网 时间:2024/06/05 07:03

题意:每两个跳舞的人可以配对,并且他们两个的绝对值只差小于等于1。求最多匹配多少对

解:排个序,配对就完了

#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;const int maxm=1e3+10;int a[maxm];int b[maxm];int main(){    int n;    while(scanf("%d",&n)!=EOF)    {        for(int i=0;i<n;i++)        {            scanf("%d",&a[i]);        }        int m;        scanf("%d",&m);        for(int i=0;i<m;i++)        {            scanf("%d",&b[i]);        }        sort(a,a+n);        sort(b,b+m);        int cnt=0;        for(int i=0,j=0;i<n&&j<m;)        {            if(abs(a[i]-b[j])<=1)            {                i++;                j++;                cnt++;            }            else if(a[i]>b[j])            {                j++;            }            else            {                i++;            }        }        printf("%d\n",cnt);    }    return 0;}

0 0
原创粉丝点击