#include<stdio.h> #include<string.h> int main() { int t, count = 1; char s[2005]; scanf("%d", &t); while(t != 0) { int first = 1; getchar(); while(t--) { int a = 0, b = 0, c = 0, n1 = 0, n2 = 0, n3 = 0; int flag = 1; gets(s); int len = strlen(s); for(int i = 2; i+3<= len; i += 6) switch(s[i]) { case 'X':a += s[i-2] - 48; n1 = s[i+2] - 48; break; case 'Y':b += s[i-2] - 48; n2 = s[i+2] - 48; break; case 'Z':c += s[i-2] - 48; n3 = s[i+2] - 48; break; } if(first) { first = 0; printf("Case #%d:\n", count++); } if(n1 != 0 && a != 0) { a *= n1; n1--; printf("%d * X ^ %d", a, n1); } else if(a == 0) flag = 0; else { printf("%d", a); } if(n2 != 0 && b != 0) { if(flag) printf(" + "); flag = 1; b *= n2; n2--; printf("%d * Y ^ %d", b, n2); } else if(n2 == 0 && b != 0) { if(flag) printf(" + "); flag = 1; printf("%d", b); } if(n3 != 0 && c != 0) { if(flag) printf(" + "); c *= n3; n3--; printf("%d * Z ^ %d\n", c, n3); } else if(c == 0) printf("\n"); else { if(flag) printf(" + "); printf("%d\n", c); } } scanf("%d", &t); } } |
Double click to view unformatted code.