'commit'
This commit is contained in:
52
C++课程/待整理知识/啊哈算法/dfs解九张扑克牌.cpp
Normal file
52
C++课程/待整理知识/啊哈算法/dfs解九张扑克牌.cpp
Normal file
@@ -0,0 +1,52 @@
|
||||
#include<bits/stdc++.h>
|
||||
|
||||
int a[10], book[10], total=0;
|
||||
|
||||
void dfs(int step) //step<65><70>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>վ<EFBFBD>ڵڼ<DAB5><DABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ
|
||||
{
|
||||
int i;
|
||||
|
||||
if (step ==10) //<2F><><EFBFBD><EFBFBD>վ<EFBFBD>ھ<EFBFBD>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾǰ<CABE><C7B0>9<EFBFBD><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE>ź<EFBFBD><C5BA>˿<EFBFBD><CBBF><EFBFBD>
|
||||
{
|
||||
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||||
if (a[1] * 100 + a[2] * 10 + a[3] + a[4] * 100 + a[5] * 10 + a[6] == a[7] * 100 + a[8] * 10 + a[9])
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><F3A3ACBF>н<EFBFBD>+1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
total++;
|
||||
printf("%d%d%d+%d%d%d = %d%d%d\n", a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]);
|
||||
}
|
||||
return ; // <20><><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĵط<C4B5><D8B7><EFBFBD>
|
||||
}
|
||||
//<2F><>ʱվ<CAB1>ڵ<EFBFBD>step<65><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>Ӧ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD>أ<EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31>2<EFBFBD><32>3...n<><6E>˳<EFBFBD><CBB3>һһ<D2BB><D2BB><EFBFBD><EFBFBD>
|
||||
for (i = 1; i <= 9; i++)
|
||||
{
|
||||
//<2F>ж<EFBFBD><D0B6>˿<EFBFBD><CBBF><EFBFBD>i<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (book[i] == 0) //book[i]Ϊ0<CEAA><30>ʾ<EFBFBD>˿<EFBFBD><CBBF>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>
|
||||
a[step] = i; //<2F><><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>i<EFBFBD><69><EFBFBD>뵽<EFBFBD><EBB5BD>step<65><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
book[i] = 1; //<2F><>book[i]<5D><>ֵ<EFBFBD><D6B5>Ϊ1<CEAA><31><EFBFBD><EFBFBD>ʾ<EFBFBD>˿<EFBFBD><CBBF><EFBFBD>i<EFBFBD>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><>step<65><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ú<EFBFBD><C3BA>˿<EFBFBD><CBBF>ƣ<EFBFBD><C6A3>ߵ<EFBFBD><DFB5><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ
|
||||
dfs(step + 1);//<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵݹ<C4B5><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD>(<28>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>)
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿdz<C7B7><C7B3><EFBFBD>Ҫ<EFBFBD><D2AA>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ҫ<EFBFBD><D2AA><EFBFBD>ղų<D5B2><C5B3>Ե<EFBFBD><D4B5>˿<EFBFBD><CBBF><EFBFBD><EFBFBD>ջأ<D5BB><D8A3><EFBFBD><EFBFBD>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>γ<EFBFBD><CEB3><EFBFBD>
|
||||
book[i] = 0;
|
||||
}
|
||||
}
|
||||
return ;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD>վ<EFBFBD>ڵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ
|
||||
dfs(1);
|
||||
|
||||
//ΪʲôҪ<C3B4><D2AA><EFBFBD><EFBFBD>2֮ǰ<D6AE>Ѿ<EFBFBD>˵<EFBFBD><CBB5>
|
||||
printf("total = %d\n", total / 2);
|
||||
|
||||
getchar();
|
||||
getchar();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user