分析:
本题有一万个坑:
坑一:序号0用可能为女,即-0,这时整形读取是没有区别的,要用getchar()来读,用一个函数来读取较为方便。
坑二:存储照片上的人要把男女分开,才可以满足时间要求,就只计算异性性间的亲密度。
坑三:在判断是否彼此为最亲近的人时,考虑两方最大亲密值相同,但不是对方的情况。
代码:
#include <bits/stdc++.h>
using namespace std;
double friends[1000][1000];
bool sex[1000];//0--man 1--woman
int Read()
{
bool flag = 0;
char a = getchar();
int ans = 0;
while ((a<'0' || a>'9') && a != '-')
{
a = getchar();
}
while (a == '-' || a >= '0'&&a <= '9')
{
if (a == '-')flag = 1;
else
{
ans = ans * 10 + a - &