第三题,部分代码如下,只通过了10%的测试用例,自己写了几个例子, 还是没发现问题在哪,希望大家指点。 int val[5000][3], relation[5000]; vector<int> records(5000, -1); int n; ll maxHappy = -1, happy = -1; cin >> n; for (int i = 0; i < n; ++i) for (int j = 0; j < 3; ++j) cin >> val[i][j]; for (int i = 1; i < n; ++i) { // 1-n int a, b; cin >> a >> b; relation[b] = a; } for (int j = 0; j < 3; ++j) { records[0] = j; happy = val[0][j]; for (int i = 1; i < n; ++i) { int tmpMax = -1; for (int k = 0; k < 3; ++k) { if (k == j || k == records[relation[i]]) continue; if (val[i][k] > tmpMax) { records[i] = k; tmpMax = val[i][k]; } } // printf("%d-%d: %d\n", j, i, tmpMax); happy += tmpMax; } if (happy > maxHappy) maxHappy = happy; }
点赞 评论

相关推荐

西松屋:说明原部门有机会把
点赞 评论 收藏
分享
剑桥断刀:找啥工作,牛客找个比如大厂软开或者随便啥的高薪牛马,大把没碰过妹子的技术仔,狠狠拿捏爆金币
点赞 评论 收藏
分享
牛客网
牛客企业服务