Fire-phoenix
From Algopedia
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;
}