leetcode2151.基于陈述统计最多好人数(困难,周赛)

leetcode2151.基于陈述统计最多好人数(困难,周赛),第1张

leetcode2151.基于陈述统计最多好人数(困难,周赛)





发现n最多只到15,想到暴力枚举
具体思路:二进制枚举,1代表好人,0代表坏人。然后看是否与实际情况是否相符(j->k为1但是i的二进制第k位为0 或者 j->k为0但是i的二进制第k位为1)即可。
i枚举状态 每一位1代表好人0代表坏人
j代表第j个人
不符实际情况:s[j][k]==1&& (1<

class Solution {
public:
    int maximumGood(vector>& s) {

        int n = s.size();
        int ans = 0;
        for (int i = 0; i < (1 << n); ++i) {
            int j = 0, cnt = 0, flag = false;  
            while ((1 << j) <= i && !flag) {
                if ((1 << j) & i) {
                    cnt++;
                    for (int k = 0; k < n; ++k) {
                        if ((s[j][k] == 1 && !((1<					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5714413.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)