第2题咋做啊各位抢个红包做大佬txt

查看: 168|回复: 4
求大佬们咋么做
题目描述一元 n 次多项式可用如下的表达式表示:其中,aixi称为 i 次项,ai 称为 i 次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:1. 多项式中自变量为 x,从左到右按照次数递减顺序给出多项式。2. 多项式中只包含系数不为 0 的项。3. 如果多项式 n 次项系数为正,则多项式开头不出现“+”号,如果多项式 n 次项系数为负,则多项式以“-”号开头。4. 对于不是最高次的项,以“+”号或者“-”号连接此项与前一项,分别表示此项系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于 0 次的项,其系数的绝对值为 1,则无需输出 1)。如果 x 的指数大于 1,则接下来紧跟的指数部分的形式为“x^b”,其中 b 为 x 的指数;如果 x 的指数为 1,则接下来紧跟的指数部分形式为“x”;如果 x 的指数为 0,则仅需输出系数即可。5. 多项式中,多项式的开头、结尾不含多余的空格。输入输出格式输入格式:
输入共有 2 行第一行 1 个整数,n,表示一元多项式的次数。第二行有 n+1 个整数,其中第 i 个整数表示第 n-i+1 次项的系数,每两个整数之间用空格隔开。
输出格式:
输出共 1 行,按题目所述格式输出多项式。
输入输出样例输入样例#1: [size=1.2][url=]复制[/url]5 100 -1 1 -3 0 10
输出样例#1: [size=1.2][url=]复制[/url]100x^5-x^4+x^3-3x^2+10
输入样例#2: [size=1.2][url=]复制[/url]3 -50 0 0 1
输出样例#2: [size=1.2][url=]复制[/url]-50x^3+1
百度没死,luogu 之类的也没死
https://www.luogu.org/problemnew/solution/P1067
百度没死,luogu 之类的也没死
& && && && && && && && && && && && && && && && && && && && && && && && && &
我以前做过诶~
你们玩我吧!!!!!
这回答……第2题怎么做,求大佬_百度知道
第2题怎么做,求大佬
我有更好的答案
大佬 怎么做的呀
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。拒绝访问 | www.cool-de.com | 百度云加速
请打开cookies.
此网站 (www.cool-de.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(430cd4e5ad484517-ua98).
重新安装浏览器,或使用别的浏览器如何从细节看各位互联网大佬们的格局高下? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="7,789分享邀请回答25559 条评论分享收藏感谢收起796164 条评论分享收藏感谢收起CodeM2018 初赛A轮 第1,2题
今晚参加了CodeM2018初赛A,结果只做对了两题……第1题:求一段字符串对应手机按键移动最少次数。送分题非常简单,我的解法是一个数组保存A-Z的按键,一个二维数组保存按键之间的距离。读入字符串只需要记住当前的和它的前一个字母,查表加和。排行榜上的大佬们2-5分钟就写完提交,但我实在没那么快。#include &stdio.h&
#include &string.h&
#include &math.h&
#include &stdlib.h&
int main(){
int i,j,k,n,T,f,
int latterMap[26]={1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,6,7,7,7,8,8,8,8};
int distMap[9][9]=
{{0,1,2,1,2,3,2,3,4},
{1,0,1,2,1,2,3,2,3},
{2,1,0,3,2,1,4,3,2},
{1,2,3,0,1,2,1,2,3},
{2,1,2,1,0,1,2,1,2},
{3,2,1,2,1,0,3,2,1},
{2,3,4,1,2,3,0,1,2},
{3,2,3,2,1,2,1,0,1},
{4,3,2,3,2,1,2,1,0}};
char c,c0,xx[3];
scanf("%d",&T);gets(xx);
for(k=0;k&T;k++){
f=0;sum=0;
while(scanf("%c",&c)==1 && c!='\n'){
printf("c=%c\n",c);
sum+=distMap[0][latterMap[c-'A']];
}else sum+=distMap[latterMap[c0-'A']][latterMap[c-'A']];
printf("%d\n",sum);
}第2题: 一个1*n的棋盘上,每个格子放着一些棋子,每个棋子可以向左移,或者向左移动到最左边以后再向右移,给出棋子总数相同的状态A和B,求状态转换需要移动的次数。这个题本来设想的是从左到右扫描,把第一个状态的棋子挨个转换为第二个状态,移动次数相加。但是提交不对,就去玩了半个时,时间浪的差不多了回来再看,然后发现了这样不对:应该先从右向左遍历第一个状态的所有棋子,把其中能够只通过左移就能达到第二状态的棋子先减去,然后再从左向右次数相加,再注意数据大小就能通过。可能这样设想的比较麻烦,大佬们应该有更简便的做法。另外在自己电脑VS根本开不了这么大数组,都是小数组编好,在提交时候再把数组改大。#include &stdio.h&
#include &string.h&
#include &math.h&
#include &stdlib.h&
int min(int a,int b){
return a&b?a:b;
int main(){
int i,j,k,n,f;
long long ans=0;
int a[100010],b[100010],num,done,x;
scanf("%d",&n);
if(n==1){printf("0\n");return 0;}
memset(a,0,sizeof(a));b[0]=0;
for(i=1;i&=n;i++)scanf("%d",&a[i]);
for(i=1;i&=n;i++)scanf("%d",&b[i]);
while(i&0 && j&0){
while(a[i]==0 && i&0)i--;
while(b[j]==0 && j&0)j--;
while(i&j && j&0)j--;
if(a[i]&=b[j]){
ans=ans+b[j]*(long long)(i-j);
a[i]=a[i]-b[j];
if(a[i]&=b[j]){
ans=ans+a[i]*(long long)(i-j);
b[j]=b[j]-a[i];
for(i=1;i&=n;i++)a[i]=a[i-1]+a[i];
j=1;done=0;
for(i=1;i&=n;i++){
b[i]=b[i-1]+b[i];
if(num!=0){
while(b[i]&=a[j] && j&=n){
x=min(b[i]-done,(a[j]-done));
ans=ans+x*(long long)(j-i);
done=done+x;
else if(i&j){
x=min(b[i]-done,(a[j]-done));
ans=ans+x*(long long)(j+i-2);
done=done+x;
if(j&=n && b[i]&a[j-1] && b[i]&a[j]){
x=min(b[i]-done,(a[j]-done));
ans=ans+x*(long long)(j-i);
done=done+x;
}else if(i&j){
x=min(b[i]-done,(a[j]-done));
ans=ans+x*(long long)(j+i-2);
done=done+x;
printf("%lld\n",ans);
}后面题目没来得及看了,最终排名前600,只有前250名才能进复赛,又看了一下去年初赛B轮比A轮难一些,估计复赛无望了(望天)
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 我不做大佬很久了 的文章

 

随机推荐