# 【UVa】441. Lotto ## [題目連結](https://vjudge.net/problem/UVA-441) ## **時間複雜度** * $O(N$ x $C_{6}^{N} )$ ## **解題想法** 這題算是比較輕鬆的枚舉題了,就是很簡單的枚舉之後就可以 <span style="color: green">**AC**</span> 了 只不過要稍微注意一下他規定最後面那筆測資有說不要輸出換行,只要稍微注意一下特判掉即可 ## **完整程式** ```cpp= /* Question : UVa 441. Lotto */ #include<bits/stdc++.h> using namespace std; #define opt ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #define mem(x, value) memset(x, value, sizeof(x)); #define pii pair<int, int> #define pdd pair<double, double> #define f first #define s second const auto dir = vector< pair<int, int> > { {1, 0}, {0, 1}, {-1, 0}, {0, -1} }; const int MAXN = 13 + 50; const int Mod = 1e9 + 7; int k, arr[MAXN], out[MAXN]; bool flag; void print( int t, int cnt ){ if( t == 0 ){ for( int i = 0 ; i < 6 ; i++ ) cout << out[i] << " \n"[i==5]; return; } if( cnt >= k ) return; // Pick out[6-t] = arr[cnt]; print(t-1, cnt+1); // Doesn't Pick print(t, cnt+1); } signed main(){ opt; while( cin >> k ){ if( k == 0 ) break; if( flag ) cout << "\n"; flag = true; for( int i = 0 ; i < k ; i++ ) cin >> arr[i]; print(6, 0); } } ```