137 条题解

  • -1
    @ 2024-8-19 18:23:12

    A+B Problem 题解

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

    推荐题目

    • -1
      @ 2024-8-19 16:20:15

      本蒟蒻啥都不会,只能贡献一份小小的码风优良的代码```language

      #include <iostream>
      using namespace std;
      
      const int MAX = 1000;
      
      void change(const string &a1, int a[], int len)
      {
      	for (int i = 0; i < len; i++)
      	{
      		a[i] = a1[len - i - 1] - '0';
      	}
      }
      
      int main()
      {
      	string a1, b1;
      	cin >> a1 >> b1;
      	int lena = a1.size(), lenb = b1.size();
      	int a[MAX] = {}, b[MAX] = {}, c[MAX] = {}, cf = 0;
      	change(a1, a, lena);
      	change(b1, b, lenb);
      	int lenc = lena;
      	if (lenb > lena)
      	{
      		lenc = lenb;
      	}
      	for (int i = 0; i <= lenc; i++)
      	{
      		c[i] = a[i] + b[i] + cf;
      		if (c[i] >= 10)
      		{
      			cf = 1;
      			c[i] -= 10;
      		}
      		else
      		{
      			cf = 0;
      		}
      	}
      	int i = lenc;
      	if (c[i] == 0)
      	{
      		i--;
      	}
      	for (i; i >= 0; i--)
      	{
      		cout << c[i];
      	}
      	return 0;
      }
      • -1
        @ 2024-8-19 13:00:40
        C++:C++:
        #include<bits/stdc++.h> //头文件
        using namespace std;//命名空间
        int main(){//主函数,程序从这里开始
            //signed main也行
            long long a,b;
            //用long long类型的变量进行存储因为数值范围是10^6,int存不下
            cin>>a>>b;
            /*
              这里可以替换为:
              scanf("%lld%lld",&a,&b);
            */
            long long ans=a+b;
            cout<<ans<<endl;
            /*
              这里可以替换为:
              printf("%lld",ans);
            */
            return 0;//一定要写,不然RE
        }
        
        • -1
          @ 2024-7-15 22:58:04
          终于可以写一份A+B这么难的题的题解了。
          咦?竟然没有人写LCT的题解?
          Link-Cut Tree 会很伤心的!
          ORZ为了不让LCT伤心于是我来一份LCT的A+B题解吧!
          送上代码:
          
          #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;
          }
          

          本蒟蒻第一次写题解,请原谅

          • @ 2024-7-25 19:06:25

            又一个抄洛谷的🤣👉

        • -1
          @ 2024-7-15 22:54:04
          
          #include<iostream>//头文件
          using namespace std;//使用标准命名空间
          int main()//主函数{
          	int a,b;
          	cin>>a>>b;
          	cout<<a+b;
          	return 0;//好习惯,拜拜
          }
          • -1
            @ 2024-7-1 20:24:17
            #include<bits/stdc++.h>
             using namespace std; 
            int main()
            { 
                int a, b; 
                cin>>a>>b; 
                cout<<a+b; 
                return 0;
            }
            
            • -1
              @ 2024-6-9 21:34:09
              #include <bits/stdc++.h>
              using namespace std;
              const int N = 1e4 + 15, M = 2e5 + 10;
              
              vector<int> edge[N];
              int h[N], e[M], ne[M], idx, p[N];
              int in[N];
              int n, m;
              void add(int a, int b) {
                  e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;
                  in[b]++;
              }
              
              int dfn[N], low[N], tot = 0;
              stack<int> stk;
              bool st[N];
              int sz[N], scc[N], color;
              
              void tarjan(int u) {
                  dfn[u] = low[u] = ++tot;
                  stk.push(u); st[u] = true;
                  for (int v : edge[u]) {
                      if (!dfn[v]) tarjan(v), low[u] = min(low[u], low[v]);
                      else if (st[v]) low[u] = min(low[u], dfn[v]);
                  }
                  if (dfn[u] == low[u]) {
                      ++color;
                      while (stk.top() != u) {
                          scc[stk.top()] = color;
                          st[stk.top()] = false; stk.pop();
                      }
                      scc[stk.top()] = color;
                      st[stk.top()] = false; stk.pop();
                  }
              }
              
              queue<int> q;
              int dp[N];
              void topsort() {
                  for (int i = 1; i <= color; i++) {
                      dp[i] = sz[i];
                      if (in[i] == 0) q.push(i);
                  }
                  while (q.size()) {
                      int u = q.front(); q.pop();
                      for (int i = h[u]; ~i; i = ne[i]) {
                          int v = e[i];
                          dp[v] = max(dp[v], dp[u] + sz[v]); in[v]--;
                          if (in[v] == 0) q.push(v);
                      }
                  }
                  int ans = 0;
                  for (int i = 1; i <= color; i++) ans = max(ans, dp[i]);
                  printf("%d\n", ans);
              }
              
              int main() {
                  memset(h, -1, sizeof h);
                  n = 2, m = 1;
                  for (int i = 1; i <= n; i++) scanf("%d", &p[i]);
                  while (m--) {
                      int a = 1, b = 2;
                      edge[a].push_back(b);
                  }
                  for (int i = 1; i <= n; i++)
                      if (!dfn[i]) tarjan(i);
                  for (int i = 1; i <= n; i++) {
                      sz[scc[i]] += p[i];
                      for (int j : edge[i])
                          if (scc[i] != scc[j]) add(scc[i], scc[j]);
                  }
                  topsort();
                  return 0;
              }
              

              转自AcWing@Conan15

              • -1
                @ 2024-6-8 19:44:05

                函数做法:

                #include<bits/stdc++.h>
                using namespace std;
                int add(int a, int b){
                	return a + b;
                }
                
                int main(){
                	int a, b;
                	cin >> a >> b;
                	cout << add(a, b);
                }
                
                • -1
                  @ 2024-5-31 10:42:13

                  按照题目计算 a+ba+b 就可以了。

                  #include<bits/stdc++.h>//万能头
                  using namespace std;//命名空间
                  int main(){//主函数
                      int a,b;//int类型变量
                      cin >> a >> b;//读入
                      cout << a+b;//输出
                      return 0;//结束
                  }
                  
                  • -1
                    @ 2024-5-19 21:03:56

                    A+B作为一道基础题,思维也很简单 看代码:

                    #include <bits/stdc++.h>
                    #define endl '\n'
                    #define int long long
                    
                    using namespace std;
                    
                    signed main()
                    {
                    	int a, b;
                    	cin >> a >> b;
                    	cout << a + b; 
                    	
                    	return 0;
                    }
                    
                    • -1
                      @ 2024-5-7 19:21:02

                      还是要点水平

                      import java.util.Scanner;
                      
                      public class Main{
                      
                          public static void main(String[] args) {
                      
                              Scanner scanner = new Scanner(System.in);
                      
                              System.out.println(scanner.nextInt() + scanner.nextInt());
                      
                              scanner.close();
                          }
                      }
                      
                      • -1
                        @ 2024-4-21 10:05:30

                        A+B问题居然没有高精度题解,发一篇吧!

                        #include <bits/stdc++.h> using namespace std; const int maxn=250; char sa[maxn],sb[maxn];//定义两个字符串 int a[maxn],b[maxn],c[maxn];//a,b位数字,c进位 int main() { scanf ("%d",sa); scanf ("%d",sb); memset (c,0,sizeof(c));//初始化赋值为0 int la=strlen (sa);//取字符串长度 int lb=strlen (sb); for (int i=0;i<la;i++) a[la-i-1]=sa[i]-'0'; for (int i=0;i<lb;i++) b[lb-i-1]=sb[i]-'0';//将两个字符串类型的数转换成整数 int lc=la>lb?la:lb;//三目运算符,取两个数字中数位最长的数字的数位 for (int i=0;i<lc;i++) { c[i] += a[i]+b[i];//加法运算 if (c[i]>=10) { c[i+1]=a[i]/10; c[i]=c[i]%10;//进位 } } if (c[lc]>0) lc++; int cnt=lc-1; while (c[cnt]==0) cnt--; for (int i=cnt;i>=0;i--) printf ("%d",c[i]); return 0; }

                        • -1
                          @ 2024-4-14 8:31:48

                          #include<bits/stdc++.h> using namespace std; int a,b; int main(){ cin>>a>>b; cout<<a+b<<endl; return 0; }//基础题

                          • -1
                            @ 2024-4-14 8:31:46

                            #include<bits/stdc++.h> using namespace std; int a,b; int main(){ cin>>a>>b; cout<<a+b<<endl; return 0; }//基础题

                            • -1
                              @ 2024-4-6 11:58:55

                              经典的 a+ba+b

                              • -1
                                @ 2024-4-5 20:01:38
                                #include
                                using namespace std;
                                
                                struct Node
                                {
                                int data;
                                Node *prev;
                                Node *next;
                                Node(int val) : data(val), prev(nullptr), next(nullptr) {}
                                };
                                
                                Node *createList(int num)
                                {
                                Node *head = nullptr;
                                Node *tail = nullptr;
                                while (num > 0)
                                {
                                int digit = num % 10;
                                Node *newNode = new Node(digit);
                                if (head == nullptr)
                                {
                                head = newNode;
                                tail = newNode;
                                }
                                else
                                {
                                newNode->next = head;
                                head->prev = newNode;
                                head = newNode;
                                }
                                num /= 10;
                                }
                                return head;
                                }
                                
                                Node *addTwoNumbers(Node *num1, Node *num2)
                                {
                                Node *result = nullptr;
                                Node *current = nullptr;
                                int carry = 0;
                                

                                while (num1 != nullptr || num2 != nullptr || carry != 0) { int sum = carry;

                                if (num1 != nullptr)
                                {
                                    sum += num1->data;
                                    num1 = num1->next;
                                }
                                
                                if (num2 != nullptr)
                                {
                                    sum += num2->data;
                                    num2 = num2->next;
                                }
                                
                                carry = sum / 10;
                                sum %= 10;
                                
                                Node *newNode = new Node(sum);
                                
                                if (result == nullptr)
                                {
                                    result = newNode;
                                    current = newNode;
                                }
                                else
                                {
                                    current->prev = newNode;
                                    newNode->next = current;
                                    current = newNode;
                                }
                                

                                }

                                return result;

                                }
                                
                                void printList(Node *head)
                                {
                                if (head == nullptr)
                                {
                                cout << "Empty list" << endl;
                                return;
                                }
                                

                                while (head != nullptr) { cout << head->data; head = head->next; } cout << endl;

                                }
                                
                                void deleteList(Node *head)
                                {
                                while (head != nullptr)
                                {
                                Node *temp = head;
                                head = head->next;
                                delete temp;
                                }
                                }
                                
                                int main()
                                {
                                int num1 = 12345;
                                int num2 = 6789;
                                

                                Node *list1 = createList(num1); Node *list2 = createList(num2);

                                cout << "Number 1: "; printList(list1);

                                cout << "Number 2: "; printList(list2);

                                Node *sumList = addTwoNumbers(list1, list2);

                                cout << "Sum: "; printList(sumList);

                                deleteList(list1); deleteList(list2); deleteList(sumList);

                                return 0;

                                }
                                
                                
                                • -1
                                  @ 2024-3-31 15:19:44
                                  #include <stdio.h>  #头文件  
                                  int main(){  #主函数
                                      int a, b;  #申请int类型变量a,b
                                      scanf("%d%d", &a, &b);#输入
                                      printf("%d\n", a+b);#输出
                                      return 0;#完美结束
                                  }
                                  
                                  • -1
                                    @ 2023-12-26 9:30:44

                                    这是全站最简单的题,也是所有萌新都会做到的题。

                                    #include<bits/stdc++.h>
                                    using namespace std;
                                    int main()
                                    {
                                    int a,b;
                                    cin>>a>>b;
                                    cout<<a+b;
                                    return 0;
                                    }
                                    
                                    • -1
                                      @ 2023-12-23 11:24:00
                                      #include<iostream>
                                      using namespace std; 
                                      int main()
                                      {
                                          int a,b;
                                          cin>a>b;
                                          cout<a+b;
                                          return 0;
                                      }
                                      
                                      • -1
                                        @ 2023-12-7 0:26:43
                                        line = list(map(int,input().split()))
                                        print(line[0]+line[1])
                                        

                                        信息

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