开关问题(等级考试 8 级 2023-2-10 T2)

Posted 王浩泽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开关问题(等级考试 8 级 2023-2-10 T2)相关的知识,希望对你有一定的参考价值。

题目

 

 这道题目用暴力即可,两种方法,第一种用的是暴力dfs不用多讲

第二种方法细讲,先开 int s[N]  当s[i]的第j位为1是表示i j相关联,反之不相关连,当然了s[i][i]=1,有点类似邻接矩阵

枚举任意操作开关的⽅案时,也可以使⽤⼆进制数来枚举。具体来说,枚举2到2^n之内的所
有数字,⼀个数字的第i位是1则表⽰操作第i个开关。
程序:
#include<bits/stdc++.h>
using namespace std;
int k,n,m,s,T,v[50]; 
int main()

    ios::sync_with_stdio(false);
    cin>>k;
    while(k--)
    
        s=0;
        T=0;
        memset(v,0,sizeof v);
        cin>>n>>m;
        for(int i=0;i<n;i++)
        
            int t;
            cin>>t;
            s|=t<<i;
        
        for(int i=0;i<n;i++)
        
            int t1;
            cin>>t1;
            T|=t1<<i;
        
        for(int i=0;i<n;i++) v[i]|=1<<i;
        for(int i=0;i<m;i++)
        
            int j,k;
            cin>>j>>k;
            if(j==0&&k==0) break;
            j--;
            k--;
            v[j]|=1<<k;
        
        int num=0;
        for(int i=0;i<(1<<n);i++)
        
            int t=0;
            for(int j=0;j<n;j++) if((i>>j&1)==1) t^=v[j];
            if((s^t)==T) num++;
        
        printf("%d\\n",num);
    
    return 0;

 

以上是关于开关问题(等级考试 8 级 2023-2-10 T2)的主要内容,如果未能解决你的问题,请参考以下文章

Linux chkconfig命令

QT最高多少级?

工控安全光栅等级 2级和4级意思是啥呢?

18.8.13 考试总结

10.28考试总结

18.8.31 考试总结