題目鏈接:http://acm.hdu.edu.cn/showPRoblem.php?pid=5095 題意:現(xiàn)給出你表達(dá)式g(p,q,r,u,v,w,x,y,z) = ap+bq+cr+du+ev+fw+gx+hy+iz+j,讓你輸入t個(gè)樣例,每個(gè)樣例輸入系數(shù)a-i,讓你輸出表達(dá)式 解析:題目不難,就是要細(xì)心點(diǎn) 1.從系數(shù)不為零的項(xiàng)開始輸出 2.全為零輸出0 3.中間項(xiàng)的系數(shù)為正數(shù)的話,要輸出’+’ 4.考慮系數(shù)為1的情況 5.末尾單獨(dú)考慮
#include <iostream>#include <algorithm>#include <vector>#include <cstdio>#include <cstring>#include <string>#include <queue>#include <vector>using namespace std;const int maxn = 20;char a[maxn] = {'p','q','r','u','v','w','x','y','z'};int b[maxn];int main(){ int n; cin>>n; while(n--) { for(int i=0;i<=9;i++) scanf("%d",&b[i]); int last = -1; for(int i=0;i<10;i++) { if(b[i]!=0) { last = i; break; } } if(last==-1) { puts("0"); continue; } for(int i=last;i<9;i++) { if(b[i]==0) continue; if(b[i]>0 && i!=last) printf("+"); if(b[i]==1) printf("%c",a[i]); else if(b[i]==-1) printf("-%c",a[i]); else printf("%d%c",b[i],a[i]); } if(b[9]!=0) { if(b[9]>0 && 9!=last) printf("+"); printf("%d/n",b[9]); } else puts(""); } return 0;}新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注