比赛 板子大赛 评测结果 AAAAAWWWWW
题目名称 二项式展开 最终得分 50
用户昵称 Gao 运行时间 0.030 s
代码语言 C++ 内存使用 3.42 MiB
提交时间 2025-01-22 14:50:06
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,a[65][1000];
void sgt(int x){
    int i=1,j=2;
    while(a[x-1][i+1]!=0){
        a[x][j]=a[x-1][i]+a[x-1][i+1];
        j++;
        i++;
    }
    a[x][1]=a[x][j]=1;
//    for(int k=1;k<=j;k++){
//        cout<<a[x][k]<<" ";
//    }
//    cout<<endl;
    if(x==n){
        n=j;
        for(int k=1;k<=n;k++){
            int ji=0,kun=0;
            if(a[x][k]!=1)cout<<a[x][k];
            if(k!=n){
                int sum=n-k;
                if(sum==1){
                    cout<<"a";
                }
                else{
                    cout<<"a^"<<sum;
                }
            }
            if(k!=1){
                int sum=k-1;
                if(sum==1){
                    cout<<"b";
                }
                else{
                    cout<<"b^"<<sum;
                }
            }
            if(k+1<=n){
                cout<<"+";
            }
//            cout<<"jijij";
        }
        return;
    }
    sgt(x+1);
}
int main(){
    freopen("binomial.in","r",stdin);
    freopen("binomial.out","w",stdout);
    a[1][1]=a[1][2]=1;
    cin>>n;
    if(n==0){
        cout<<"1";
        return 0;
    }
    if(n==1){
        cout<<"a + b";
        return 0;
    }
    sgt(2);
    return 0;
}