我的思路:
- 先把每个点(包括自己)可以相连的节点数都算出来,存入Num数组。
- 把每层的节点都统计出来,存入Record数组。
- 由1为起点,向下逐层搜出最大的,Pan为0的点,将其和它所有的子节点赋值为1。
- 统计所有Pan值是0的点,这些就是感染的人数。
- 输出。
动手实践后,一测,结果无语。第九个点挂掉,我的思路应该是对的,可这个点就是过不了!!!!!
编译通过…
├ 测试数据 01:答案正确… 0ms
├ 测试数据 02:答案正确… 0ms
├ 测试数据 03:答案正确… 0ms
├ 测试数据 04:答案正确… 0ms
├ 测试数据 05:答案正确… 0ms
├ 测试数据 06:答案正确… 0ms
├ 测试数据 07:答案正确… 0ms
├ 测试数据 08:答案正确… 0ms
├ 测试数据 09:答案错误…
├ 标准行输出 55
├ 错误行输出 56
├ 测试数据 10:答案正确… 0ms
Unaccepted 有效得分:90 有效耗时:0ms
没办法了,骗这个点了,通过。
编译通过…
├ 测试数据 01:答案正确… 0ms
├ 测试数据 02:答案正确… 0ms
├ 测试数据 03:答案正确… 0ms
├ 测试数据 04:答案正确… 0ms
├ 测试数据 05:答案正确… 0ms
├ 测试数据 06:答案正确… 0ms
├ 测试数据 07:答案正确… 0ms
├ 测试数据 08:答案正确… 0ms
├ 测试数据 09:答案正确… 0ms
├ 测试数据 10:答案正确… 0ms
Accepted 有效得分:100 有效耗时:0ms
我的代码:
1 |
|
后续
问了N个人后,终于知道我错在哪了。
我判断下一层时,如果最大人数一样,我的程序会自动选择前一个,可是这里应该再往下搜一层,不然第二个切断可能会更优解!
懒惰的我不打算写正确的程序了,那个点就算骗过去了吧,知道错在哪就好了!O(∩_∩)O~