#include<iostream> using namespace std; int main(){ int id=1; int T; while(cin>>T && T!=0){ getchar(); printf("Case #%d:\n",id++); while(T--){ int sumx=0,sumy=0,sumz=0,cifangx=0,cifangy=0,cifangz=0; string str; getline(cin,str); for(int i=0;i<str.size();i++){ if(isalpha(str[i])){ if(str[i]=='X'){ sumx+=str[i-2]-'0'; //cout<<sumx<<endl; cifangx=str[i+2]-'0'; if(cifangx==0)cifangx=1; } if(str[i]=='Y'){ sumy+=str[i-2]-'0'; cifangy=str[i+2]-'0'; if(cifangy==0)cifangy=1; } if(str[i]=='Z'){ sumz+=str[i-2]-'0'; cifangz=str[i+2]-'0'; if(cifangz==0)cifangz=1; } } } if(sumx!=0){ if(cifangx==1){ printf("%d",sumx); } else{ printf("%d * X ^ %d",cifangx*sumx,cifangx-1); } } if(sumy!=0){ if(sumx==0){ if(cifangy==1){ printf("%d",sumy); } else{ printf("%d * Y ^ %d",cifangy*sumy,cifangy-1); } } else{ if(cifangy==1){ printf(" + %d",sumy); } else{ printf(" + %d * Y ^ %d",cifangy*sumy,cifangy-1); } } } if(sumz!=0){ //cout<<sumz<<endl; if(sumx==0 && sumy== 0){ if(cifangz==1){ printf("%d",sumz); } else{ printf("%d * Z ^ %d",cifangz*sumz,cifangz-1); } } else{ if(cifangz==1){ printf(" + %d",sumz); } else{ printf(" + %d * Z ^ %d",cifangz*sumz,cifangz-1); } } } cout<<endl; } } } |
Double click to view unformatted code.