Fire-phoenix

From Algopedia
Revision as of 11:23, 19 June 2013 by Cristian (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
/*
   Nume program   : fire-phoenix.c
   Nume concurent : Matei Deleanu
*/

#include <stdio.h>
#include <stdlib.h>
int v[30];
int main()
{
    int i=0,n,j,snim=0,aux;
    char c;
    scanf("%d",&v[i]);
    i=1;
    c=getchar();
    while(c!='\n'){
        scanf("%d",&v[i]);
        c=getchar();
        i++;
    }
    n=i;
    for(i=0;i<n;i++)
        snim=snim^v[i];
    if(snim==0){
        i=0;
        while(v[i]==0&&i<n)
            i++;
        if(i==n)
            return 0;
        v[i]--;
    }
    else{
        for(i=0;i<n&&snim!=0;i++){
            aux=v[i];
            while(v[i]>0&&snim!=0){
                v[i]--;
                snim=0;
                for(j=0;j<n;j++)
                    snim=snim^v[j];
            }
            if(snim!=0)
                v[i]=aux;
        }
    }
    for(j=0;j<n;j++)
        if(j==n-1)
            printf("%d\n",v[j]);
        else
            printf("%d ",v[j]);
    return 0;
}