题目意思就是打印所有的符合公司A能管理B的情况。其中A和B满足下面三个条件中的至少一个,就可以说A能管理B
- 公司A = 公司B。
- 公司A拥有大于50%的公司B的股票。
- 公司A能管理K(K >= 1)个公司,记为C1, …, CK,每个公司Ci拥有xi%的公司B的股票,并且x1+ …. + xK > 50%。
这题可以将i从1出发到100,找到没被i管理的公司j,求出$sum=∑map_{kj}$ (其中,k是被i管理的公司)
如果sum>50,则i控制j。再继续寻找下一个j。如果一直没找到可被管理的公司,这再从下一个i开始查找
数据分析:数据量不大,最坏的情况是有100个公司,程序的时间复杂度为O(n^3),不会超时,但还要注意自己的能被自己所管理,也就是说当使用第三条规则时还要加上a管理a的情况,刚开始时没加上,提交一直WA;
1 |
|