Brain-kill
From Algopedia
Jump to navigationJump to search
/*
Nume program : brain-kill.c
Nume concurent : Vlad Stanciu, Rares Cautis
*/
#include <stdio.h>
#include <stdlib.h>
int v[30];
int main()
{
int exor,i,i2,min,p,max,k,y;
char c;
scanf("%d",&v[0]);
c=fgetc(stdin);
i=1;
while(c!='\n'){
scanf("%d",&v[i]);
c=fgetc(stdin);
i++;
}
i2=i;
min=v[0];
exor=v[0];
for(i=1;i<i2;i++){
exor=exor^v[i];
if(v[i]<min)
min=v[i];
}
if(exor==0)
{
p=0;
max=0;
for(p=0;p<30;p++)
if(max<v[p]){
max=p;
k=p;
}
v[k]=0;
}
if(exor!=0)
for(i=0;i<i2;i++)
if(v[i]>(v[i]^exor) && v[i]!=0){
v[i]=v[i]-(v[i]-(v[i]^exor));
break;
}
else{
y++;
y=0;
}
printf("%d",v[0]);
for(i=1;i<i2;i++)
printf(" %d",v[i]);
printf("\n");
return 0;
}