Algo-Trian

This commit is contained in:
e2hang
2025-09-21 12:21:50 +08:00
parent 24522486f1
commit 3bde00039c
25 changed files with 842 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
#include <iostream>
#include <vector>
using namespace std;
int checkbin(long long s){
int js = 0;
while(s){
js += (s & 1);
s = s>> 1;
}
return js;
}
int main(){
int n;
cin >> n;
vector<long long> s(n);
for(int i = 0; i < n; i++){
int a, b;
cin >> a >> b;
s[i] = ( 1 << (a - 1) ) + (b - 1);
}
for(int i = 0; i < n; i++){
if(checkbin(s[i]) % 2 == 0) cout << "BLACK" << endl;
else cout << "RED" << endl;
}
return 0;
}

View File

@@ -0,0 +1,35 @@
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
vector<vector<int>> result;
void dfs(vector<int>& path, vector<bool>& used, int n){
int js = 0;
for(int i = 0; i < n; i++){
if(used[i] == false){
js++;
used[i] = true;
path.push_back(i);
dfs(path, used, n);
path.pop_back();
used[i] = false;
}
}
if(js == 0){
result.push_back(path);
return;
}
}
int main(){
int n;
cin >> n;
vector<int> path;
vector<bool> used(n, false);
dfs(path, used, n);
for(auto x : result){
for(auto y: x){
cout << setw(5) << y + 1;
}
cout << endl;
}
}