fork download
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. void print(int v[], int size){
  7. for(int i = 0; i < size; i++) cout << v[i] << " ";
  8. }
  9.  
  10. int next_partition(int v[], int size){
  11. if(v[0] == 0){
  12. int i;
  13. for(i = 0; v[i] == 0; i++);
  14. if(i >= size - 1) return 0;
  15.  
  16. v[i + 1]++;
  17. v[0] = v[i] - 1;
  18. v[i] = 0;
  19. }else{
  20. v[0]--;
  21. v[1]++;
  22. }
  23. return 1;
  24. }
  25.  
  26. int next_sign(int v[], int size){
  27. int i;
  28. for(i = 0; i < size; i++){
  29. v[i] = -v[i];
  30. if(v[i] < 0) break;
  31. }
  32. return (i != size);
  33. }
  34.  
  35. int f(int v[], int size){
  36. int retval = 0;
  37. for(int i = 0; i < size; i++) retval += v[i];
  38. return retval;
  39. }
  40.  
  41. void search(int size, int max_distance){
  42. int v[size];
  43. int i;
  44.  
  45. for(i = 0; i <= max_distance; i++){
  46. memset(v, 0, sizeof(int) * size);
  47. v[0] = i;
  48. do{
  49. do{
  50.  
  51. cout << "v = ( ";
  52. print(v, size);
  53. cout << "), f(v) = " << f(v, size) << endl;
  54.  
  55. }while(next_sign(v, size));
  56. }while(next_partition(v, size));
  57. }
  58. }
  59.  
  60. int main(){
  61. search(3, 4);
  62. return 0;
  63. }
Success #stdin #stdout 0.02s 2680KB
stdin
Standard input is empty
stdout
v = ( 0 0 0 ), f(v) = 0
v = ( 1 0 0 ), f(v) = 1
v = ( -1 0 0 ), f(v) = -1
v = ( 0 1 0 ), f(v) = 1
v = ( 0 -1 0 ), f(v) = -1
v = ( 0 0 1 ), f(v) = 1
v = ( 0 0 -1 ), f(v) = -1
v = ( 2 0 0 ), f(v) = 2
v = ( -2 0 0 ), f(v) = -2
v = ( 1 1 0 ), f(v) = 2
v = ( -1 1 0 ), f(v) = 0
v = ( 1 -1 0 ), f(v) = 0
v = ( -1 -1 0 ), f(v) = -2
v = ( 0 2 0 ), f(v) = 2
v = ( 0 -2 0 ), f(v) = -2
v = ( 1 0 1 ), f(v) = 2
v = ( -1 0 1 ), f(v) = 0
v = ( 1 0 -1 ), f(v) = 0
v = ( -1 0 -1 ), f(v) = -2
v = ( 0 1 1 ), f(v) = 2
v = ( 0 -1 1 ), f(v) = 0
v = ( 0 1 -1 ), f(v) = 0
v = ( 0 -1 -1 ), f(v) = -2
v = ( 0 0 2 ), f(v) = 2
v = ( 0 0 -2 ), f(v) = -2
v = ( 3 0 0 ), f(v) = 3
v = ( -3 0 0 ), f(v) = -3
v = ( 2 1 0 ), f(v) = 3
v = ( -2 1 0 ), f(v) = -1
v = ( 2 -1 0 ), f(v) = 1
v = ( -2 -1 0 ), f(v) = -3
v = ( 1 2 0 ), f(v) = 3
v = ( -1 2 0 ), f(v) = 1
v = ( 1 -2 0 ), f(v) = -1
v = ( -1 -2 0 ), f(v) = -3
v = ( 0 3 0 ), f(v) = 3
v = ( 0 -3 0 ), f(v) = -3
v = ( 2 0 1 ), f(v) = 3
v = ( -2 0 1 ), f(v) = -1
v = ( 2 0 -1 ), f(v) = 1
v = ( -2 0 -1 ), f(v) = -3
v = ( 1 1 1 ), f(v) = 3
v = ( -1 1 1 ), f(v) = 1
v = ( 1 -1 1 ), f(v) = 1
v = ( -1 -1 1 ), f(v) = -1
v = ( 1 1 -1 ), f(v) = 1
v = ( -1 1 -1 ), f(v) = -1
v = ( 1 -1 -1 ), f(v) = -1
v = ( -1 -1 -1 ), f(v) = -3
v = ( 0 2 1 ), f(v) = 3
v = ( 0 -2 1 ), f(v) = -1
v = ( 0 2 -1 ), f(v) = 1
v = ( 0 -2 -1 ), f(v) = -3
v = ( 1 0 2 ), f(v) = 3
v = ( -1 0 2 ), f(v) = 1
v = ( 1 0 -2 ), f(v) = -1
v = ( -1 0 -2 ), f(v) = -3
v = ( 0 1 2 ), f(v) = 3
v = ( 0 -1 2 ), f(v) = 1
v = ( 0 1 -2 ), f(v) = -1
v = ( 0 -1 -2 ), f(v) = -3
v = ( 0 0 3 ), f(v) = 3
v = ( 0 0 -3 ), f(v) = -3
v = ( 4 0 0 ), f(v) = 4
v = ( -4 0 0 ), f(v) = -4
v = ( 3 1 0 ), f(v) = 4
v = ( -3 1 0 ), f(v) = -2
v = ( 3 -1 0 ), f(v) = 2
v = ( -3 -1 0 ), f(v) = -4
v = ( 2 2 0 ), f(v) = 4
v = ( -2 2 0 ), f(v) = 0
v = ( 2 -2 0 ), f(v) = 0
v = ( -2 -2 0 ), f(v) = -4
v = ( 1 3 0 ), f(v) = 4
v = ( -1 3 0 ), f(v) = 2
v = ( 1 -3 0 ), f(v) = -2
v = ( -1 -3 0 ), f(v) = -4
v = ( 0 4 0 ), f(v) = 4
v = ( 0 -4 0 ), f(v) = -4
v = ( 3 0 1 ), f(v) = 4
v = ( -3 0 1 ), f(v) = -2
v = ( 3 0 -1 ), f(v) = 2
v = ( -3 0 -1 ), f(v) = -4
v = ( 2 1 1 ), f(v) = 4
v = ( -2 1 1 ), f(v) = 0
v = ( 2 -1 1 ), f(v) = 2
v = ( -2 -1 1 ), f(v) = -2
v = ( 2 1 -1 ), f(v) = 2
v = ( -2 1 -1 ), f(v) = -2
v = ( 2 -1 -1 ), f(v) = 0
v = ( -2 -1 -1 ), f(v) = -4
v = ( 1 2 1 ), f(v) = 4
v = ( -1 2 1 ), f(v) = 2
v = ( 1 -2 1 ), f(v) = 0
v = ( -1 -2 1 ), f(v) = -2
v = ( 1 2 -1 ), f(v) = 2
v = ( -1 2 -1 ), f(v) = 0
v = ( 1 -2 -1 ), f(v) = -2
v = ( -1 -2 -1 ), f(v) = -4
v = ( 0 3 1 ), f(v) = 4
v = ( 0 -3 1 ), f(v) = -2
v = ( 0 3 -1 ), f(v) = 2
v = ( 0 -3 -1 ), f(v) = -4
v = ( 2 0 2 ), f(v) = 4
v = ( -2 0 2 ), f(v) = 0
v = ( 2 0 -2 ), f(v) = 0
v = ( -2 0 -2 ), f(v) = -4
v = ( 1 1 2 ), f(v) = 4
v = ( -1 1 2 ), f(v) = 2
v = ( 1 -1 2 ), f(v) = 2
v = ( -1 -1 2 ), f(v) = 0
v = ( 1 1 -2 ), f(v) = 0
v = ( -1 1 -2 ), f(v) = -2
v = ( 1 -1 -2 ), f(v) = -2
v = ( -1 -1 -2 ), f(v) = -4
v = ( 0 2 2 ), f(v) = 4
v = ( 0 -2 2 ), f(v) = 0
v = ( 0 2 -2 ), f(v) = 0
v = ( 0 -2 -2 ), f(v) = -4
v = ( 1 0 3 ), f(v) = 4
v = ( -1 0 3 ), f(v) = 2
v = ( 1 0 -3 ), f(v) = -2
v = ( -1 0 -3 ), f(v) = -4
v = ( 0 1 3 ), f(v) = 4
v = ( 0 -1 3 ), f(v) = 2
v = ( 0 1 -3 ), f(v) = -2
v = ( 0 -1 -3 ), f(v) = -4
v = ( 0 0 4 ), f(v) = 4
v = ( 0 0 -4 ), f(v) = -4