diff --git a/15661.cpp b/15661.cpp new file mode 100644 index 0000000..36d859b --- /dev/null +++ b/15661.cpp @@ -0,0 +1,46 @@ + +#include +#include +#include + +using namespace std; + +int permutation(vector num, int n, vector> stat){ + int ans = 2000; + + for(int i=0; i> n; + vector> stat(n, vector(n, 0)); + for(int i=0; i> stat[i][j]; + } + } + + vector num(n, false); + + cout << permutation(num, n, stat); + + return 0; +} diff --git a/15665.cpp b/15665.cpp new file mode 100644 index 0000000..c4e7251 --- /dev/null +++ b/15665.cpp @@ -0,0 +1,44 @@ + +#include +#include +#include + +using namespace std; + +int n, m; +vector temp(7); +set> out; + +void backtracking(int cnt, vector nums){ + if(cnt == m){ + out.insert(temp); + return; + } + + for(int i=0; i> n >> m; + + vector nums(n); + for(int i=0; i> nums[i]; + } + + backtracking(0, nums); + + for(auto it=out.begin(); it != out.end(); it++){ + vector t = *it; + for(int j=0; j +#include +#include + +using namespace std; + +int n; +vector gl; +string s; +vector ans; +bool check[10]; +int name[10]; + +void backtracking(int cnt, int prev, char c){ + if(cnt == n+1){ + s = ""; + for(int i=0; i<=n; i++){ + s += to_string(name[i]); + } + ans.push_back(s); + return; + } + + if(c == '<'){ + for(int i=prev+1; i<10; i++){ + if(!check[i]){ + check[i] = true; + name[cnt] = i; + backtracking(cnt+1, i, gl[cnt]); + check[i] = false; + } + } + } + else if(c == '>'){ + for(int i=0; i> n; + + for(int i=0; i> ch; + gl.push_back(ch); + } + + backtracking(0, -1, '<'); + sort(ans.begin(), ans.end()); + + cout << ans.back() << '\n' << ans.front(); + +}