1:好友推荐策略,如果两者之间的共同好友大于一个阀值m,那么就可以推荐这两个人成文好友。
以下是核心代码实现
#include <iostream>
#include <map>
#include <string>
#include <stdio.h>
using namespace std;
int friendNet[3000][3000];
map<string, int> userId;
unsigned int userCnt = -1;
unsigned int friendLmt = -1;
int CanMakeFriend(int pUserId1, int pUserId2);
int AddFriendsId( const unsigned int userId1, const unsigned int userId2 );
bool IsInit(void);
/******************************************************************************************************
Description 初始化社交网络,原先的所有状态被清除,同时设置该社交网络中的好友推荐阈值
Prototype void Init(unsigned int m);
Input Param m 好友推荐阈值
Output Param 无
Return Value 无
********************************************************************************************************/
void Init(unsigned int m)
{
int i = 0, j = 0;
/*在这里实现功能*/
friendLmt = m;
userCnt = 0;
userId.clear();
for ( i = 0; i < 3000; i++)
{
for ( j = 0; j < 3000; j++)
{
friendNet[i][j] = 0;
}
}
return;
}
bool IsInit()
{
if (friendLmt < 0 || userCnt < 0)
return false;
else
return true;
}
/******************************************************************************************************
Description 创建用户
Prototype int CreateUser(const char* pUser);
Input Param pUser 用户名字字符串,非空串;
O