首页 > 代码库 > 学长出的题。。
学长出的题。。
因为上不了内网,自己手打下题目吧。意思大概是这样的:输入一个N,代表N个男生,下面是N个数,代表每个男生的跳舞能力值。输入一个M代表M个女生,下面是M个数,代表每个女生的跳舞能力值。现在要开始配对(必须男女搭配),配对的原则是男女的跳舞能力值不能超过一。问最对有多少个配对。。案例忘了。我直接上代码。有解析
#include <stdio.h> #include <math.h> #include <string.h> #include <algorithm> using namespace std; int main() { int n,m,i,j,sum,k; double a[105]; double b[105]; while(~scanf("%d",&n)) //输入N个男生 { for(i=0;i<n;i++) scanf("%lf",&a[i]);//输入N个男生的能力值 scanf("%d",&m); for(i=0;i<m;i++) scanf("%lf",&b[i]);//同上 sort(a,a+n);//将能力值排序 sort(b,b+m);//同上 sum=0;// sum放在外面。否则会导致配对的不准、 for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(fabs(a[i]-b[j])<=1.0)// 如果配对 的话 { b[j]=-232;// 让配对的这个女生的能力值赋值为负数,这样就保证她不会再被配对。(这里是解题的关键) sum++; break; } } } printf("%d",sum); //输出 } return 0; }
学长出的题。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。