2018刑侦科推理试题
先来看看2018刑侦科推理试题。
直接做的话,因为有很多情况,所以会很麻烦。但如果我们用程序来做的话,那就好很多了。
根据题意,我们可以用dfs来求答案,枚举每一种情况,若有nnn道题,则时间复杂度为O(n×4n)O(n\times 4^n)O(n×4n)。
code
#include<bits/stdc++.h>
using namespace std;
int n=10,f,a[15],c[5],p[5][5]={
{
0,0,0,0,0},{
0,1,0,1,1},{
0,0,1,0,1},{
0,1,0,1,0},{
0,1,1,0,1}};
bool pd1(){
return 1;
}
bool pd2(){
return (a[2]+2)%4==a[5]%4;
}
bool pd3(){
if(a[3]==1) return a[3]!=a[6]&&a[3]!=a[2];
else if(a[3]==2) return a[6]!=a[2]&&a[6]!=a[