Untitled
unknown
plain_text
3 years ago
992 B
6
Indexable
#include <iostream>
using namespace std;
int N;
int arr[10];
int tinh[10];
int ans;
int index;
int sum;
int xetDau(int num)
{
if(num < 0)
return -1;
if(num > 0)
return 1;
}
void backTracking(int k, int id)
{
if(k == N ){
sum = 0;
for(int i = 1; i <= id; i++){
sum += tinh[i];
}
if(sum == 0)
ans++;
return;
}
for(int i = 0; i < 3; i++){
if(i == 1){
tinh[id+1] = 0 - arr[k+1];
backTracking(k+1, id+1);
}
if(i==2){
tinh[id+1] = arr[k+1];
backTracking(k+1, id+1);
}
if(i==0){
tinh[id] = tinh[id]*10 + xetDau(tinh[id]) * arr[k+1];
backTracking(k+1, id);
tinh[id] = tinh[id]/10;
}
}
}
int main()
{
// freopen("input.txt", "r", stdin);
int T;
cin >> T;
for(int i = 1; i < 10; i++){
arr[i] = i;
}
for(int tc = 1; tc <= T; tc++){
cin >> N;
ans = 0;
index = 1;
tinh[index] = 1;
backTracking(1, 1);
cout << "#" << tc << " " << ans << endl;
}
return 0;
}Editor is loading...