200 条题解

  • 0
    @ 2025-10-22 18:38:53
    #include <bits/stdc++.h>
    using namespace std;
    int a,b;
    int main() 
    {
        cin>>a>>b;
        cout<<a+b;
        return 0;
    }
    
    • 0
      @ 2025-10-18 11:26:52

      一道经典却s*的高级语言入门题。

          #include <bits/stdc++.h>
                using namespace std;
                int main()
                {
                  int a,b;
                  cin>>a>>b;
                  cout<<a+b<<endl;
                }
      
      • 0
        @ 2025-10-15 19:47:57

        很简单。 分享一个做法

        #include<cstdio>
        using namespace std;
        int a,b,c;
        int main()
        {
            scanf("%d%d",&a,&b);
            c=a+b;
            printf("%d",c);
        }
        
        • 0
          @ 2025-10-4 22:07:53

          Code 1

          按题意,输出 a+ba + b 即可。

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

          Code 2

          输出 a(b)a-(-b),等同于 a+ba+b

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

          Code 3

          按进位和不进位递归。

          #include <iostream>
          using namespace std;
          int add(int x, int y){
            if(y == 0) return x;
            return add(x ^ y, (x & y) << 1);
          }
          int main(){
            int a, b;
            cin >> a >> b;
            cout << add(a, b);
            return 0;
          }
          
          • 0
            @ 2025-9-9 21:38:28

            文言编程语言

            施「require('fs').readFileSync」於「「/dev/stdin」」。名之曰「數據」。
            施「(buf => buf.toString().trim())」於「數據」。昔之「數據」者。今其是矣。
            施「(s => s.split(' '))」於「數據」。昔之「數據」者。今其是矣。
            
            夫「數據」之一。取一以施「parseInt」。名之曰「甲」。
            夫「數據」之二。取一以施「parseInt」。名之曰「乙」。
            
            加「甲」以「乙」。書之。
            
            
            • 0
              @ 2025-8-30 17:28:02

              本题解针对C++语言。

              这是一道基础的入门题。

              首先阅读题目描述:输入两个正整数,输出它们的和。

              阅读输入格式:一行两个正整数a,b,以空格分隔。 因此,使用如下代码定义变量并读取:

              int a,b;
              cin >> a >> b;
              

              接着,阅读输出格式:一个正整数a+b。

              使用如下代码实现:

              cout << a + b;
              

              检查数据范围,发现int类型不会发生溢出。(提醒:如果a,b超过10910^9,应使用long long类型)

              最终,代码如下:

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

              以下内容针对C++语言初学者,与本题无关。

              C++语言的基本格式如下:

              #include <iostream> // 引入头文件以实现输入输出
              using namespace std; // 引入命名空间,防止标识符冲突,此处使用标准命名空间(std)
              int main(){
                  // 程序从这里开始运行
                  // your code
                  return 0; // 程序在这里结束
              }
              
              • 0
                @ 2025-4-6 9:51:46
                #include<bits/stdc++.h>
                #define _rep(i,a,b) for(int i=(a);i<=(b);i++)
                #define _antirep(i,a,b) for(int i=(a);i>=(b);i--)
                using namespace std;
                typedef long long lxl; 
                string a,b,ans;
                int x;
                int main()
                { 
                	cin>>a>>b;
                	int len=max(a.size(),b.size()); 
                	while(a.size()<len) a='0'+a;//补零
                	while(b.size()<len) b='0'+b;//补零
                	_antirep(i,len-1,0)
                	{
                		int c=a[i]-'0',d=b[i]-'0';
                		ans=(char)((c+d+x)%10+'0')+ans;
                		x=(c+d+x)/10;
                	}
                	if(x!=0) ans=(char)(x+'0')+ans;
                	cout<<ans;
                  return 0;
                }
                
                
                • @ 2025-4-19 20:58:24

                  新手注意这是高精度,不要学,不过我不是新手

              • 0
                @ 2025-3-31 21:40:11

                声明:后几种方法一般不用

                C++题解

                这里采用多种方法求解。

                方法一

                读入a和b,输出a+b。

                #include <bits/stdc++.h>
                using namespace std;
                
                int a, b;
                
                int main() {
                    scanf("%d%d", &a, &b);
                    printf("%d\n", a + b);
                    return 0;
                }
                

                如果你看不懂上面的代码,那你可以看看下面的。

                #include <bits/stdc++.h>
                using namespace std;
                
                #define 开始啦 main()
                #define 开头 {
                #define 结尾 }
                #define 和 , 
                #define 没了 return 0
                #define 整数32位 int
                #define 输入 cin
                #define 输出 cout 
                #define 一个 >> 
                #define 这个 <<
                #define 加上 +
                #define 换行 '\n' 
                
                整数32位 开始啦
                开头
                	整数32位 a 和 b;
                	输入 一个 a 一个 b;
                	输出 这个 a 加上 b 这个 换行; 
                	没了;
                结尾
                

                方法二

                数手指都会吧,我们就用“数手指”的方法做这一题。

                #include <bits/stdc++.h>
                using namespace std;
                
                int a, b, ans = 0;
                
                int main() {
                	scanf("%d%d", &a, &b);
                	for (int i = 1; i <= a; i++)
                		ans++;
                	for (int j = 1; j <= b; j++)
                		ans++;
                	printf("%d\n", ans);
                	return 0;
                }
                

                方法三

                算法数据结构的角度来思考一下这一题……

                我们可以设计一个这样的算法:先将a和b插入到一个数据结构(栈、队列或堆)中,非空时,将头上的元素取出,如果大于1则拆成它减1和1(根据自己的喜好)再插入,否则统计答案。

                写法

                #include <bits/stdc++.h>
                using namespace std;
                
                int a, b, ans = 0;
                stack<int> s;
                
                int main() {
                	scanf("%d%d", &a, &b);
                	s.push(a);
                	s.push(b);
                	while (!s.empty()) {
                		int x = s.top();
                		s.pop();
                		if (x > 1) {
                			s.push(x - 1);
                			s.push(1);
                		}
                		else
                			ans += x; 
                	}
                	printf("%d\n", ans);
                	return 0;
                }
                

                队列写法

                #include <bits/stdc++.h>
                using namespace std;
                
                int a, b, ans = 0;
                queue<int> q;
                
                int main() {
                	scanf("%d%d", &a, &b);
                	q.push(a);
                	q.push(b);
                	while (!q.empty()) {
                		int x = q.front();
                		q.pop();
                		if (x > 1) {
                			q.push(x - 1);
                			q.push(1);
                		}
                		else
                			ans += x; 
                	}
                	printf("%d\n", ans);
                	return 0;
                }
                

                写法

                #include <bits/stdc++.h>
                using namespace std;
                
                int a, b, ans = 0;
                priority_queue<int> h;
                
                int main() {
                	scanf("%d%d", &a, &b);
                	h.push(a);
                	h.push(b);
                	while (!h.empty()) {
                		int x = h.top();
                		h.pop();
                		if (x > 1) {
                			h.push(x - 1);
                			h.push(1);
                		}
                		else
                			ans += x; 
                	}
                	printf("%d\n", ans);
                	return 0;
                }
                

                方法四

                我们可以使用高精度加法。

                #include <bits/stdc++.h>
                using namespace std; 
                
                char s1[100], s2[100];
                int a[100], b[100], c[100];
                
                int main() {
                    scanf("%s%s", s1 + 1, s2 + 1);
                    int la = strlen(s1 + 1), lb = strlen(s2 + 1), lc;
                    lc = max(la, lb);
                	for (int i = 1; i <= la; i++)
                		a[i] = s1[la - i + 1] - '0';
                	for (int i = 1; i <= lb; i++)
                		b[i] = s2[lb - i + 1] - '0';
                	memset(c, 0, sizeof(c));
                	for (int i = 1; i <= lc; i++) {
                		c[i] += a[i] + b[i];
                		c[i + 1] = c[i] / 10;
                		c[i] %= 10;
                	}
                	if (c[lc + 1] > 0)
                		lc++;
                	for (int i = lc; i >= 1; i--)
                		printf("%d", c[i]);
                	printf("\n");
                	return 0;
                }
                

                方法五

                方法三方法四结合。

                #include <bits/stdc++.h>
                using namespace std;
                
                int a, b, c[100], lc = 1;
                priority_queue<int> h;
                
                int main() {
                	scanf("%d%d", &a, &b);
                	h.push(a);
                	h.push(b);
                	memset(c, 0, sizeof(c));
                	while (!h.empty()) {
                		int x = h.top();
                		h.pop();
                		if (x > 1) {
                			h.push(x - 1);
                			h.push(1);
                		}
                		else {
                			c[1] += x;
                			for (int i = 1; i <= lc; i++) {
                				c[i + 1] += c[i] / 10;
                				c[i] %= 10;
                			}
                			if (c[lc + 1] > 0)
                				lc++;
                		}
                	}
                	for (int i = lc; i >= 1; i--)
                		printf("%d", c[i]);
                	printf("\n");
                	return 0;
                }
                

                你竟然认真的看完了!

                恭喜你,把简单的问题复杂化了!要是你真的看懂了,就说明你太没事闲的了

                • 0
                  @ 2025-1-15 13:11:14
                  #include<bits/stdc++.h>
                  using namespace std;
                  int main() 
                  {
                      int a,b;
                      cin>>a>>b;
                      cout<<a+b;
                      return 0;
                  }
                  
                  • 0
                    @ 2024-11-27 11:27:12

                    代码高亮,简洁而有效的注解,思路清晰,便于理解,无冗长板子,不定义非常用宏。

                    说的太好了

                    • 0
                      @ 2024-11-16 0:31:10
                      #include<iostream>
                      #define 声明32位整型 int
                      #define 左圆括号 (
                      #define 右圆括号 )
                      #define 左花括号 {
                      #define 右花括号 }
                      #define 使用 using
                      #define 名字空间 namespace
                      #define 输入 cin>>
                      #define 输出 cout<<
                      #define 和 >>
                      #define 以及 <<
                      #define 声明64位整型 long long
                      #define 返回 return
                      #define 加 +
                      使用 名字空间 std;
                      声明32位整型 main 左圆括号 右圆括号
                      左花括号
                        声明64位整型 a,b;
                        输入 a 和 b;
                        输出 a 加 b;
                        返回 0;
                      右花括号
                      
                      • 0
                        @ 2024-9-11 16:53:33

                        分享一种利用 C++ 特性的厌氧解法

                        警告:这个做法严重依赖于编译器、操作系统等的特殊性质,极不稳定。

                        #include <bits/stdc++.h>
                        using namespace std;
                        
                        void A() {
                            int a, b;
                            scanf("%d %d", &a, &b);
                        }
                        void B() {
                            int a, b;
                            printf("%d\n", a + b);
                        }
                        
                        int main() {
                            A(), B();
                            return 0;
                        }
                        

                        不开 O2 可 AC,开 O2 就 WA。

                      • 0
                        @ 2024-8-28 20:42:40

                        我当初看见这道题的时候感觉很难,但是我想了亿下……

                        s = input()
                        a = s[:s.index(" ")]
                        b = s[s.index(" "):]
                        print(a + b)
                        
                        • 0
                          @ 2024-8-28 8:53:53
                          #include <bits/stdc++.h>
                          using namespace std;
                          typedef long long ll;
                          
                          int main() {
                          //	freopen(".in","r",stdin);
                          //	freopen(".out","w",stdout);
                          	int a,b;
                          	cin>>a>>b;
                          	cout<<a+b;
                          	return 0;
                          }
                          
                          • 0
                            @ 2024-8-7 19:35:21

                            做出这道题,那么恭喜你踏上了万里征程的第一步!

                            这是一道适合入门级选手练手的题目,本篇题解为大家介绍 cin 和 cout 。

                            cin :标准输入流。

                            输入:cin>>变量名;
                            多个输入:cin>>变量名1>>变量名2……;

                            cout :标准输出流。

                            输出变量:cout<<变量名;
                            输出单个字符:cout<<'字符';
                            输出一串字符:cout<<"一串字符";
                            输出换行:cout<<endl;

                            本题代码及解析

                            #include<iostream>//头文件,可调用cin、cout
                            using namespace std;//标准命名空间 
                            int main(){//主函数 
                            	int a,b;//定义变量 
                            	cin>>a>>b;//输入a,b 
                            	cout<<a+b;//输出a,b之和 
                            	return 0;//返回0 
                            }
                            
                            • 0
                              @ 2024-1-18 20:58:43
                              #include<bits/stdc++.h>
                              using namespace std;
                              struct Plus{
                              long long a,b;
                              void in(){
                              cin>>a>>b;
                              }
                              void out(){
                              cout<<a+b;
                              }
                              };
                              int main(){
                              Plus a_plus_b;
                              a_plus_b.in();
                              a_plus_b.out();
                              return 0;
                              }
                              
                              
                              • 0
                                @ 2024-1-13 10:27:45

                                #include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; cout<<a+b;

                                return 0;
                                

                                } 这都不会就过分了啊 👍

                                • 0
                                  @ 2024-1-7 13:23:33

                                  童鞋们你们好!

                                  打开这道题,就相当于你们迈出了万里 OI 路的第一步。让我们重视这一步!

                                  这里提醒同学们:好的代码风格是非常重要的。大家一定要养成良好的代码风格

                                  来看看我打的代码:

                                  #include<bits/stdc++.h> //万能头
                                  using namespace std; //使用std这个命名空间
                                  
                                  int main() {
                                      int a, b; //1e6 int够用
                                      cin >> a >> b; //cin = console+input 标准读入
                                      cout << a + b; //cout = console+output 标准输出
                                      return 0; //不要忘了一个华丽的结尾
                                  }
                                  

                                  最后想请童鞋们注意:强烈建议cin/cout<</>>符号前后打一个空格!这样能让你的代码更加美观!

                                  这就是我们万里编程路的第一步。在以后的刷题中,大家会遇到更多的难题。希望大家能不忘初心,砥砺前行! 说歪了

                                  感谢观看!

                                  • 0
                                    @ 2023-11-3 21:22:55

                                    LCT解法

                                    #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);
                                            connect(A,B);
                                            cut(A,B);
                                            connect(A,B);
                                        printf("%d\n",query(A,B)); 
                                        return 0;
                                    }
                                    
                                    • 0
                                      @ 2023-10-15 17:46:10
                                      #include<iostream>//头文件
                                      using namespace std;//命名空间
                                      int main()
                                      {
                                           int a, b;//定义
                                           cin>> a>> b;//输入
                                           cout<< a + b;//输出
                                           return 0;
                                      }
                                      

                                      信息

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