200 条题解

  • -7
    @ 2024-1-15 10:17:25

    #include<iostream> using namespace std; int main (){ int a,b; cin>>a>>b; cout<<a+b; return 0; }

    • -7
      @ 2022-11-19 20:29:06

      倒过来输出

      • -7
        @ 2022-4-6 15:30:41

        c++新写法

        #include<bits/stdc++.h>

        using namespace std;

        int a,b;

        int main()

        {

        cin>>a>>b;

        cout<<a+b;

        return 0;

        }

        • -7
          @ 2021-11-9 16:40:50

          虽然这种简单题写个快读确实是大材小用, 但是有了快读,这个程序的主程序就可如python一般简洁

          因此就有了这篇题解,大家就当学快读的写法吧qwq

          #include <bits/stdc++.h>
          using namespace std;
          inline int read()
          {
              int X = 0; bool f = false; char ch = getchar();
              while (ch > '9' || ch < '0') {f |= ch == '-'; ch = getchar();}
              while (ch <= '9' && ch >= '0') {X = (X << 3) + (X << 1) + (ch ^ 48); ch = getchar();}
              return f ? -X : X;
          }
          inline void write(int X)
          {
              if (X == 0) {putchar('0'); return;}
              if (X < 0) {putchar('-'); X = -X;}
              short num[21], cnt = 0;
              while (X) {num[++cnt] = X % 10; X /= 10;}
              while (cnt) putchar(num[cnt--] ^ 48);
              return;
          }
          int main()
          {
              write(read() + read());
              return 0;
          }
          
          • -8
            @ 2022-1-8 13:34:43

            水一篇题解哈哈哈哈哈

            声明:为了不错误引导新手上路,我会区分新手和神犇的解题方法(当然神犇不是我)

            新手请看这里:

            #include<iostream>
            using namespace std;
            int main()
            {
                int a,b;   //定义a,b两数,数据规模巨大的话用long long int也不是不可~
                cin>>a>>b;  //输入a,b
                cout<<a+b;  //输出a+b的结果,等同于int c=a+b; cout<<c;
                return 0;  //return 0好习惯
            }
            

            神犇请看这里:(高精度加法)

            先用字符串数组,以字符形式储存两个大数。再依次储存被加数,加数,和。之后再将字符数字转为四位一块的整数数字,逐块相加,并进位,最后计算和的块的总数即可。

            #include <bits/stdc++.h>
            #define N 200
            int Pow(int a, int b)
            {
                int i = 0, result = 1;
                for(i = 0; i < b; ++i)
                {
                    result *= a;
                }
                return result;
            }
            int main()
            {
                char stra[N], strb[N];
                int i = 0, step = 4, carry = 0;
                int lengtha, lengthb, maxlength, resultsize;
                int numa[N], numb[N],numc[N];
                memset(numa, 0, sizeof(numa));
                memset(numb, 0, sizeof(numb));
                memset(numc, 0, sizeof(numc));
                scanf("%s%s", stra, strb);
                lengtha = strlen(stra);
                lengthb = strlen(strb);
                for(i = lengtha-1; i >= 0; --i)
                {
                    numa[(lengtha-1-i)/step] += (stra[i]-'0')*Pow(10,(lengtha-1-i)%step);
                }
                for(i = lengthb-1; i >= 0; --i)
                {
                    numb[(lengthb-1-i)/step] += (strb[i]-'0')*Pow(10,(lengthb-1-i)%step);
                }
                maxlength = lengtha > lengthb ? lengtha : lengthb;
                for(i = 0; i <= maxlength/step; ++i)
                {
                    numc[i] = (numa[i] + numb[i])%Pow(10, step) + carry; 
                    carry = (numa[i] + numb[i])/Pow(10, step); 
                }
                resultsize = numc[maxlength/step] > 0 ? maxlength/step : maxlength/step - 1;
                printf("%d", numc[resultsize]);
                for(i = resultsize-1; i >= 0; --i)
                {
                    printf("%04d", numc[i]); 
                }
                printf("\n");
                return 0;
            }
            
            • -10
              @ 2022-1-20 11:35:02

              本人太弱不会a+b,只能冲一发退火来碰碰运气

              #include<bits/stdc++.h> 
              #define ll long long
              using namespace std;
              const double d=0.999;
              const double lim=1e-10;
              ll a,b;
              ll ans;
              ll num;
              int read()
              {
              	int x=0,f=1;
              	char ch=getchar();
              	while(ch<'0'||ch>'9')
              	{
              		if(ch=='-') f=-1;
              		ch=getchar();
              	}
              	while(ch>='0'&&ch<='9')
              	{
              		x=x*10+(ch^48);
              		ch=getchar();
              	}
              	return x*f;
              }
              int calc(int x)
              {
                  return abs(a+b-x)-abs(a+b-ans);
              }
              void ghost_fire()
              {
                  double T=1000000;
                  while(T>lim)
                  {
                      int x=num+((rand()<<1)-RAND_MAX)*T;
                      int del=calc(x);
                      if(del<0)
                      {
                          ans=x;
                          num=x;
                      }
                      else if(exp(-del/T)>(double)rand()/RAND_MAX) num=x;
                      T*=d;
                  }
              }
              void work()
              {
              	for(int i=1;i<=100;i++) ghost_fire();
              }
              int main()
              {
                  a=read();
                  b=read();
                  work();
                  cout<<ans<<endl;
                  return 0;
              }
              
              • @ 2022-1-28 15:21:56

                emm……

              • @ 2022-7-25 16:32:12

                emmm……您会模拟退火?膜拜

              • @ 2024-8-27 13:14:06

                orz

            • -10
              @ 2022-1-1 7:58:03

              输入 aa , bb,输出 a+ba+b,然后我们可以定义 int 整型量来存 a,ba,b ,最后用 + 号链接,输出即可

              • -11
                @ 2022-8-21 14:37:57

                🚀️

                • -11
                  @ 2022-2-10 21:32:48

                  简单的代码:

                  main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a+b);}
                  
                  • -13
                    @ 2022-3-28 19:23:04

                    上代码:

                    #include<bits/stdc++.h>
                    using namespace std;
                    void dfs(int a,int b,int ans,int flag)
                    {
                        if(flag){printf("%d",ans);exit(0);}
                        dfs(a,b,a+b,flag+1);
                        // 加法
                    }
                    int main()
                    {
                        string s="";
                        getline(cin,s);
                        // 输入
                        int a=0,b=0,flag=0,fa=1,fb=1;
                        // fa:a符号,fb:b符号
                        for(int i=0;i<s.size();i++)
                        {
                            if(s[i]==' ') flag=1;// 遇到空格读下一个数
                            if(s[i]=='-') 
                            {
                                if(flag) fb=-1;
                                else fa=-1;
                            }
                            if(s[i]>='0'&&s[i]<='9')
                            {
                                if(flag) b=(b<<1)+(b<<3)+(s[i]^48);// b*10+s[i]-'0'
                                else a=(a<<1)+(a<<3)+(s[i]^48);// a*10+s[i]-'0'
                            }
                        }
                        dfs(a*fa,b*fb,0,0);
                        return 0;
                    }
                    

                    这题还是挺简单的

                    • @ 2022-7-25 16:28:42

                      不要搞这些花里胡哨的了(你是洛谷的吧)

                  • -18
                    @ 2022-1-28 11:03:13

                    这题是个练for循环的好题。

                    #include<bits/stdc++.h> 
                     using namespace std; 
                      int a,b; 
                      int main(){ 
                      for(int i=1;i<=2;i++) {
                         cin>>a;
                       b+=a;
                      } 
                      cout<<b; 
                      }
                    
                    • @ 2022-3-5 16:51:48

                      您完全不初始化的是吗

                    • @ 2022-11-9 21:07:00

                      您完全不初始化变量 b 是吗

                    • @ 2024-8-28 8:52:13

                      @ 在main()外面的都自动初始化为0了谢谢

                    • @ 2024-8-28 8:52:36

                      @ 在main()外面的都自动初始化为0了谢谢

                  • -21
                    @ 2022-2-12 12:52:51

                    a + b problem.

                    • -21
                      @ 2021-11-30 9:33:53

                      #include <stdio.h> int main(void) { int a,b; scanf("%d %d",&a,&b); printf("%d",a+b); return 0; }

                      • -36
                        @ 2021-5-24 13:48:12

                        二分求解即可

                        #include<bits/stdc++.h>
                        #define N 100010
                        using namespace std;
                        int a,b;
                        int s(int a,int b) {
                        	int l=-1e9,r=1e9,mid;
                        	while(l<r) {
                            	mid=(l+r)/2;
                            	if(mid==a+b)
                            	    return mid;
                            	else if(mid>a+b)
                            	    r=mid;
                            	else
                            	    l=mid;
                            }
                        }
                        int main() {
                        	cin>>a>>b;
                        	cout<<s(a,b);
                        	return 0;
                        }
                        
                        • @ 2025-2-21 19:58:24

                          需要这么麻烦吗????????

                      • -37
                        @ 2021-8-8 16:35:12

                        用线段树+标记永久化即可

                        #include <cstdio>
                        #define mid L + (R-L >> 1)
                        const int maxn = 1e5+5;
                        
                        int n, a[maxn], m;
                        int sl, sr, add;
                        
                        struct segtree{
                        	int sum[maxn<<2], tag[maxn<<2];
                        	inline int lc(int o){return o<<1;}
                        	inline int rc(int o){return o<<1|1;}
                        	void build(int o, int L, int R){
                        		if(L == R){sum[o] = a[L];return;}
                        		int M = mid;
                        		build(lc(o), L, M);
                        		build(rc(o), M+1, R);
                        		sum[o] = sum[lc(o)] + sum[rc(o)];
                        	}
                        	void maintain(int o, int L, int R){
                        		if(R>L){
                        			sum[o] = sum[lc(o)] + sum[rc(o)];
                        			sum[o] += tag[o] * (R-L+1);
                        		} else {
                        			sum[o] += tag[o];
                        			tag[o] = 0;
                        		}
                        	}
                        	void updata(int o, int L, int R){
                        		if(sl <= L && R <= sr)tag[o] += add;
                        		else{
                        			int M = mid;
                        			if(sl <= M)updata(lc(o), L, M);
                        			if(sr > M)updata(rc(o), M+1, R);
                        		}
                        		maintain(o, L, R);
                        	}
                        	int query(int o, int L, int R, int tags){
                        		if(sl <= L && R <= sr)return sum[o] + tags * (R-L+1);
                        		else {
                        			int M = mid, res = 0;
                        			if(sl <= M)res += query(lc(o), L, M, tags+tag[o]);
                        			if(sr > M)res += query(rc(o), M+1, R, tags+tag[o]);
                        			return res;
                        		}
                        	}
                        } sol;
                        
                        signed main(){
                        	n = 1; 
                        	int a, b; 
                        	scanf("%d%d", &a, &b);
                        	sol.build(1, 1, n);
                        	add=a; sl=1; sr=1;
                        	sol.updata(1, 1, 1);
                        	add=b;
                        	sol.updata(1, 1, 1);
                        	printf("%d\n", sol.query(1, 1, n, 0));
                        	return 0;
                        }
                        

                        当然,树状数组也可以,并且更快

                        #include <iostream>
                        using namespace std;
                        const int n = 1;
                        int a, b;
                        int c[500005];
                        inline int lowbit(int x){
                        	return x & (-x);
                        }
                        inline int sum(int x){
                        	int ans=0;
                        	for(int i=x;i>0;i-=lowbit(i))
                        	ans+=c[i];
                        	return ans;
                        }
                        void add(int x,int y){
                        	for(int i=x;i<=n;i+=lowbit(i))
                        	c[i]+=y;
                        }
                        int main(){
                        	cin>>a>>b;
                        	add(1, a); add(1, b);
                        	printf("%d\n", sum(1));
                        	return 0;
                        }
                        
                        • @ 2022-7-25 16:33:55

                          咕咕咕

                        • @ 2022-7-25 16:34:54

                          装摸做样的建了棵树……

                        • @ 2025-2-21 19:59:13

                          菜菜菜

                      • -37
                        @ 2021-5-19 22:01:00

                        C++11の高端的题解!

                        #include<iostream>
                        #include<cstdio>
                        #include<algorithm>
                        #include<cstring>
                        #include<cmath>
                        #include<string>
                        #include<cstdlib>
                        using namespace std;//超长无关紧要的高端的头文件
                        int a,b;//定义高端的变量
                        int main(){
                        	scanf("%d%d",&a,&b);//快速读入高端的变量
                        	printf("%d",a+b);//经过简简单单的高端的计算后,快速输出高端的结果!
                        	return 0;//高端而潇洒的结尾~
                        }
                        

                        看这高端的注释,不点个赞吗?

                        • -41
                          @ 2021-9-20 21:43:22

                          高精度水一发......

                          #include <iostream>
                          #include <string>
                          #include <algorithm>
                          using namespace std;
                          string a,b;
                          int x[1005],y[1005],ans[1005];
                          int main()
                          {
                          	cin>>a>>b;
                          	int la=a.size(),lb=b.size();
                          	reverse(a.begin(),a.end());
                          	reverse(b.begin(),b.end());
                          	int n,i,j;
                          	for(i=0;i<la;i++)    x[i]=a[i]-'0';
                          	for(i=0;i<lb;i++)    y[i]=b[i]-'0';
                          	int temp,jin=0;
                          	for(i=0;i<1000;i++)
                          	{
                          		temp=x[i]+y[i]+jin;
                          		if(temp>=10)
                          		{
                          			jin=1;
                          			ans[i]=temp-10;
                          		}
                          		if(temp<10)
                          		{
                          			jin=0;
                          			ans[i]=temp;
                          		}
                          	}
                          	for(i=1000;i>=0;i--)
                          		if(ans[i]!=0)
                          			break;		
                          	for(;i>=0;i--)
                          	{
                          		cout<<ans[i];
                          	}
                              return 0;
                          }
                          
                          • @ 2022-7-25 16:33:37

                            我也写了一份高精度,大佬帮忙看看除法哪儿错了呗

                        • -49
                          @ 2021-9-25 11:11:53

                          输出A+B非常简单
                          #include <bits/stdc++.h> using namespace std; int a,b; cin>>a>>b; cout<<a+b<<endl;//输出; return 0;//华丽结束

                          • -51
                            @ 2021-8-27 15:15:12

                            这题挺简单的,是个入门题

                            不说了,直接上code:

                            #include<bits/stdc++.h>

                            using namespace std;

                            int a,b;//定义

                            int main() {

                            cin>>a>>b;//输入
                            cout<<a+b;//输出
                            

                            }

                          • -91
                            @ 2021-10-4 23:13:10

                            #include #define mid L + (R-L >> 1) const int maxn = 1e5+5;

                          信息

                          ID
                          56
                          时间
                          1000ms
                          内存
                          1024MiB
                          难度
                          1
                          标签
                          递交数
                          12363
                          已通过
                          5577
                          上传者