KOISHI-CHEN / CS305-2022-PA3-QA

0 stars 0 forks source link

关于最后测试样例的问题 #14

Open Yhcrown opened 2 years ago

Yhcrown commented 2 years ago

因为这个不是算法课,但是这个场景极端样例确实是有很多,会出现有些不合逻辑的情况。想知道这些样例究竟是需要我们去特判,还是说在评测阶段根本就不会出现。

比如之前issue里有提到的: 192.168.4.0/24 via 192.168.1.1 192.168.5.0/24 via 192.168.2.1 192.168.6.0/24 via 192.168.1.1 这里跨了table的item进行了合并,(1和3合并,2和4合并) 这种跨item的样例会不会出现?(这种跨item的样例合并之后往往原先的顺序还会乱)

如果会出现跨item合并的样例,那么 issue里另外提到的: 192.168.4.0/24 via 192.168.1.1 192.168.5.0/24 via 192.168.2.1 192.168.6.0/24 via 192.168.1.1 192.168.7.0/24 via 192.168.2.1 这种情况合并后会出现 192.168.4.0/22 via 192.168.1.1 192.168.4.0/22 via 192.168.2.1 学助提到这种情况的话不应该合并,具体是哪里不该合并。这其中的1 2 3 4 是只合并13不合并24,还是只合并24不合并13,还是完全都不合并。如果说完全不用合并,那我们如何知道是否会出现这样的情况呢。以我垃圾的算法水平,貌似只能先合并才能找出不合理,然后一步一步撤回。这个代码量就十分大了,但是再高级别的算法,以我课上所学的知识是写不出来的。

如果说只会出现一些正常且简单的情况(简单的连续表项合并),那就更好了,希望能提前确定一下,不然这个写的实在是很忐忑,因为大家都是被算法折磨过来的。

Yhcrown commented 2 years ago

打扰了,貌似给的样例就是需要跨表项合并的。 问题就只剩下第二个,这个情况会不会出现在最后的测试样例中。因为之前那个issue里好像没明确的答复。

KOISHI-CHEN commented 2 years ago

@Yhcrown 呃,评测阶段不会有那么抽象的东西,不是算法题。这个路由聚合我都不知道我自己写的对不对......