Cod sursa(job #1290168)

Utilizator jordasIordache Andrei Alexandru jordas Data 10 decembrie 2014 21:37:04
Problema 1-sir Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.43 kb
#include <fstream>

using namespace std;

 ifstream x ("1-sir.in");
 ofstream y ("1-sir.out");

 struct node
 {
     int level;
     int sum;
     int last;
     node *parent;
     node *right;
     node *left;
 };

 int N,s;
 int nr;

 void create_tree(node *temp, int n)
 {
     n++;

     node *current;

     current=new node();

     current->level=n;
     current->sum=temp->sum+temp->last-1;
     current->last=temp->last-1;
     current->parent=temp;
     current->left=NULL;
     current->right=NULL;
     temp->left=current;

     current=new node();

     current->level=n;
     current->sum=temp->sum+temp->last+1;
     current->last=temp->last+1;
     current->parent=temp;
     current->left=NULL;
     current->right=NULL;
     temp->right=current;

     if(n<N)
     {
         create_tree(temp->left,n);
         create_tree(temp->right,n);
     }

     if(n==N)
     {
         if(temp->left->sum==s)
            nr++;
         if(temp->right->sum==s)
            nr++;
     }

 }

 void FirstAssigment()
 {
     node *head;
     node *current;
     head=new node();
     current=new node();

     head->level=1;
     head->sum=0;
     head->last=0;
     head->parent=NULL;
     head->left=NULL;
     head->right=NULL;

     current=head;

     create_tree(head,1);

     y<<nr<<'\n';
 }

int main()
{
    x>>N>>s;

    FirstAssigment();

    return 0;
}