yet I still got WA and couldn't find anything I was able to help solve it...
Is that I didn't use string as output?
Appreciate for help, thanks!
Code: Select all
#include <iostream>
using namespace std;
int main(){
unsigned long int bb[3], gg[3], cc[3];
unsigned long int b[3], g[3], c[3];
char bin[3];
while(cin>>bb[0]>>gg[0]>>cc[0]>>bb[1]>>gg[1]>>cc[1]>>bb[2]>>gg[2]>>cc[2]){
for(int i=0; i<3; i++){
b[i]=bb[(i+1)%3]+bb[(i+2)%3];
g[i]=gg[(i+1)%3]+gg[(i+2)%3];
c[i]=cc[(i+1)%3]+cc[(i+2)%3];
}
unsigned long int move=0, min=b[0]+g[1]+c[2];
bin[0]='B';
bin[1]='G';
bin[2]='C';
for(int i=0; i<3; i++){
for(int jj=i+1; jj<i+3; jj++){
int j=jj%3;
int k=3-i-j;
move=b[i]+g[j]+c[k];
if(!((i==0)&&(j==1)&&(k==2))){
if(move<min){
bin[i]='B';
bin[j]='G';
bin[k]='C';
min=move;
}
else if(move==min){
if(bin[0]=='C'){
if(i==0){
bin[i]='B';
bin[j]='G';
bin[k]='C';
}
}
else if(bin[0]=='G'){
bin[i]='B';
bin[j]='G';
bin[k]='C';
}
else if(bin[0]=='B'){
if(i==0){
bin[0]='B';
bin[1]='C';
bin[2]='G';
}
}
}
}
}
}
cout<<bin[0]<<bin[1]<<bin[2]<<" "<< min<<endl;
}
return 0;
}