编程题AB-默契夫妻
时间: 1ms 内存:128M
描述:
某拍卖公司对一副名画进行拍卖,有n对夫妻参加竞拍,夫妻分别出价,同一对夫妻出价最接近的获得该画。价格均为整数。n<10
输入:
第一行 n
第二行 n个丈夫的出价
第三行 n个妻子的出价
输出:
输出最小出价差(>=0)
示例输入:
5
1000 900 800 1200 1500
1200 1000 700 1100 1200
示例输出:
100
提示:
参考答案(内存最优[920]):
#include<stdio.h>
#include<math.h>
#define MAX 10
void main()
{
int a[MAX],b[MAX],c[MAX],min;
int i=0,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
for(i=0;i<n;i++)
{
c[i]=(a[i]-b[i]);
if(c[i]<0)
c[i]=-c[i];
}
min=c[0];
for(i=0;i<n;i++)
{
if(min>c[i])
min=c[i];
}
printf("%d\n",min);
}
参考答案(时间最优[0]):
#include <iostream>
#include <cmath>
using namespace std;
#define maxperson 10
int countdiff(int a,int b)
{
return fabs(a-b);
}
int main()
{
int hus[maxperson],wife[maxperson];
int i,n,mindiff,diff;
cin>>n;
for(i=0; i<n; i++)
cin>>hus[i];
for(i=0; i<n; i++)
cin>>wife[i];
mindiff=countdiff(hus[0],wife[0]);
for(i=1; i<n; i++)
{
diff=countdiff(hus[i],wife[i]);
if(mindiff>diff)
mindiff=diff;
}
cout<<mindiff<<endl;
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。