

对于性格冲突的猴子,逻辑是定义一个数组,然后将它们的编号各自赋值给对方的编号,这样当检测到猴子A的技能数大于另一个B的时候再进一步判断B在这个数组中的数据是不是等于A


题主需要注意,冲突的关系是多对多的,即每一个猴子都可能与多个猴子冲突
一个简单的方法是用二维数组来保存与自己冲突猴子的编号,不过判断的时候需要遍历数组,显得麻烦一些
也可以采用如下保存冲突
int a[n][n];
//冲突数组应该被初始化为全0
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
a[i][j] = 0;
}
}
for (int i = 0; i < k; i++)
{
cin >> c >> d;
a[c - 1][d - 1] = 1;
a[d - 1][c - 1] = 1;
}
采用如下判断
if (a[i][j] == 0)
sum++;