Untitled
unknown
plain_text
2 years ago
992 B
3
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...