|
思路:DFS+回溯 [cpp] #include<stdio.h> #include<string.h> #define INF 1《30 int a[25],cnt[25]; int ans,temp,len; bool myok() { int i; for(i=0;i<len;i++) if(a[i]) return false; return true; } void dfs(int idx) { int i; if(myok())//判断是否还有反面的纸牌,若有则继续翻牌,无则计数 { temp=0; for(i=0;i<len;i++) if(cnt[i]==1) temp++; if(temp<ans) ans=temp; return; } [1] [2] 下一页 |