题目链接:http://acm.hdu.edu.cn/showPRoblem.php?pid=5095 题意:现给出你表达式g(p,q,r,u,v,w,x,y,z) = ap+bq+cr+du+ev+fw+gx+hy+iz+j,让你输入t个样例,每个样例输入系数a-i,让你输出表达式 解析:题目不难,就是要细心点 1.从系数不为零的项开始输出 2.全为零输出0 3.中间项的系数为正数的话,要输出’+’ 4.考虑系数为1的情况 5.末尾单独考虑
#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;}新闻热点
疑难解答