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; }