46 条题解

  • -6
    @ 2024-9-14 22:25:13
    高精度加法

    新人不会康林一个人 @杨时欢 俩提交都AC阿米诺斯 亲放心食用

    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    const int INF=0x3f3f3f;
    int main(){
        string a1,b1;
        int a[500],b[500],c[500];
        cin>>a1>>b1;
        int lena=a1.size();
        int lenb=b1.size();
        for(int i=0;i<lena;i++){
            a[lena-i]=a1[i]-'0';
        }
        for(int i=0;i<lenb;i++){
            b[lenb-i]=b1[i]-'0';
        }
        int lenc=1,x=0;
        while(lenc<=lena || lenc<=lenb){
            c[lenc]=a[lenc]+b[lenc]+x;
            x=c[lenc]/10;
            c[lenc]=c[lenc]%10;
            lenc++;
        }
        if(x>0){
           c[lenc]=x;
        }
        else{
           lenc--;
        }
        for(int i=lenc;i>=1;i--)
            cout<<c[i];
        cout<<endl;
    
    	return 0;
    }
    
    提示:此代码可提交题@@高精度加法***
    
    • -7
      @ 2025-6-1 18:22:05

      #A+B problem {

      { #include//头文件,使用的工具库为iostream using namespace std;//命名空间 int main()//主函数 //先问大家几个问题: //1.我们如何获取a与b//2.我们如何进行对a于b的运算? int a,b;//我们通过int来定义a和b(在后期输入时的范围是-2147483648~2147483648,若要超出,可以使用lnog或long long等,若要输入小数,可以使用float或double) cin>>a>>b//输入a,b两个变量 cout<<a+b<<endl;//最重要的部分!!!这里我们要对a和b进行运算,这时我们要使用运算符,运算符有很多,如:“*”乘法 “/”除法 “+”加法 “-”减法 “^”次方 “%”取余…… return 0;//可有可无 //总结:1.a与b通过int定义,且不同的类型变量有不同规定取值范围; //2.我们使用运算符进行两个变量的运算

      } } //全网@

      • -7
        @ 2024-11-26 21:04:54
        #include<iostream>
        #include<cstring>
        #include<cstdio>
        #include<cstring>
        using namespace std;
        struct node 
        {
            int data,rev,sum;
            node *son[2],*pre;
            bool judge();
            bool isroot();
            void pushdown();
            void update();
            void setson(node *child,int lr);
        }lct[233];
        int top,a,b;
        node *getnew(int x)
        {
            node *now=lct+ ++top;
            now->data=x;
            now->pre=now->son[1]=now->son[0]=lct;
            now->sum=0;
            now->rev=0;
            return now;
        }
        bool node::judge(){return pre->son[1]==this;}
        bool node::isroot()
        {
            if(pre==lct)return true;
            return !(pre->son[1]==this||pre->son[0]==this);
        }
        void node::pushdown()
        {
            if(this==lct||!rev)return;
            swap(son[0],son[1]);
            son[0]->rev^=1;
            son[1]->rev^=1;
            rev=0;
        }
        void node::update(){sum=son[1]->sum+son[0]->sum+data;}
        void node::setson(node *child,int lr)
        {
            this->pushdown();
            child->pre=this;
            son[lr]=child;
            this->update();
        }
        void rotate(node *now)
        {
            node *father=now->pre,*grandfa=father->pre;
            if(!father->isroot()) grandfa->pushdown();
            father->pushdown();now->pushdown();
            int lr=now->judge();
            father->setson(now->son[lr^1],lr);
            if(father->isroot()) now->pre=grandfa;
            else grandfa->setson(now,father->judge());
            now->setson(father,lr^1);
            father->update();now->update();
            if(grandfa!=lct) grandfa->update();
        }
        void splay(node *now)
        {
            if(now->isroot())return;
            for(;!now->isroot();rotate(now))
            if(!now->pre->isroot())
            now->judge()==now->pre->judge()?rotate(now->pre):rotate(now);
        }
        node *access(node *now)
        {
            node *last=lct;
            for(;now!=lct;last=now,now=now->pre)
            {
                splay(now);
                now->setson(last,1);
            }
            return last;
        }
        void changeroot(node *now)
        {
            access(now)->rev^=1;
            splay(now);
        }
        void connect(node *x,node *y)
        {
            changeroot(x);
            x->pre=y;
            access(x);
        }
        void cut(node *x,node *y)
        {
            changeroot(x);
            access(y);
            splay(x);
            x->pushdown();
            x->son[1]=y->pre=lct;
            x->update();
        }
        int query(node *x,node *y)
        {
            changeroot(x);
            node *now=access(y);
            return now->sum;
        }
        int main()
        {
            scanf("%d%d",&a,&b);
            node *A=getnew(a);
            node *B=getnew(b);
            //连边 Link
                connect(A,B);
            //断边 Cut
                cut(A,B);
            //再连边orz Link again
                connect(A,B);
            printf("%d\n",query(A,B)); 
            return 0;
        }
        
        
        • -7
          @ 2024-9-17 15:34:36

          我发高精度怎么了

          #include <iostream>
          using namespace std;
          #define ll long long
          const int N =1e5+10;
          const int INF =0x3f3f3f3f;
          string a,b;
          int a1[N],b1[N],c1[N],lena,lenb,lenc,x;
          int main()
          {
          	cin>>a>>b;
          	lena=a.size();
          	lenb=b.size();
          	for(int i=0;i<lena;i++)
          	{
          		a1[i]=a[lena-i-1]-'0';
          	}
          	for(int i=0;i<lenb;i++)
          	{
          		b1[i]=b[lenb-i-1]-'0';
          	}
          	lenc=max(lena,lenb);
          	for(int i=0;i<lenc;i++)
          	{
          		c1[i]=a1[i]+b1[i]+x;
          		x=c1[i]/10;
          		c1[i]%=10;
          	}
          	c1[lenc]=x;
          	while(c1[lenc]==0&&lenc>0)
          	{
          		lenc--;
          	}
          	for(int i=lenc;i>=0;i--)
          	{
          		cout<<c1[i];
          	}
           	return 0;
          }
          
        • -8
          @ 2024-11-19 20:19:33
          #include<iostream>
          using namespace std;
          int main(){
          	int a,b;
          	cin>>a>>b;
          	if(a==1&&b==2){
          		cout<<3;
          	}
          	else if(a==1000000&&b==1000000){
          		cout<<2000000;
          	}
          	else{
          		cout<<788;
          	}
          	return 0;
          }
          

          怎么说🙃

        • -17
          @ 2024-11-23 18:33:25
          #include <iostream>
          using namespace std;
          int main()
          {
              int a,b;
              cin >> a >> b;
              cout << a+b;
              return 0;
          }
          

          有标志认证,属三无产品,请各位放心食用

          • @ 2025-2-21 19:51:47

            @哥们儿你这代码真能AC吗

          • @ 2025-12-15 17:27:40

            ber怎么这么多踩啊啊啊啊啊 疑似被网暴了TwT

        信息

        ID
        1
        时间
        1000ms
        内存
        128MiB
        难度
        1
        标签
        递交数
        5148
        已通过
        1471
        上传者