48 条题解

  • 1
    @ 2026-4-8 19:18:42
    
    ```#include <bits/stdc++.h>
    using namespace std;
    int main(){
      int a,b,s;
      cin>>a>>b;
      s=a+b;
      cout<<s;
      return 0;
    }
    • 0
      @ 2026-4-27 21:14:43

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

      • 0
        @ 2026-4-15 13:26:15
        #include<stdio.h>
        int main(){
            int a,b;
            scanf("%d%d",&a,&b);
            printf("%d",a+b);
        }
        
        • 0
          @ 2026-4-15 13:23:53
          
          a=int(input())
          b=int(input())
          print(a+b)
          
          • 0
            @ 2026-3-22 17:42:07
            #include <bits/stdc++.h>
            using namespace std;
            int main(){
              int a,b,s;
              cin>>a>>b;
              s=a+b;
              cout<<s;
              return 0;
            }
            
            • 0
              @ 2026-2-2 12:28:28
              #include<bits/stdc++.h>
              using namespace std;
              
              const int N=1e5+5;
              
              int n , m , a[N];
              int u , v;
              vector<int> vc[N];
              int dfn[N] , low[N] , cnt;
              bool vis[N];
              stack<int> st;
              int belong_cnt; //强连通分量个数 
              vector<int> belong[N];//强连通分量 
              int color[N];//color[i]表示第i头牛所处的强连通分量  
              vector<int> newvc[N];
              int in[N];//入度 
              int ans[N];
              void tarjan(int u)
              {
              	dfn[u] = low[u] = ++cnt;
              	vis[u] = 1;
              	st.push(u);
              	for(int i = 0; i < vc[u].size(); i++)
              	{
              		int v = vc[u][i];
              		if(!dfn[v])
              		{
              			tarjan(v);
              			low[u] = min(low[u] , low[v]);
              		}
              		else if(vis[v])
              		{
              			low[u] = min(low[u] , low[v]);
              		}	
              	}
              	//强连通分量到头	
              	if(dfn[u] == low[u])
              	{
              		while(!st.empty())
              		{
              			v = st.top();
              			st.pop();
              			vis[v] = 0;
              			color[v] = u;//当前牛所处的强连通分量 
              			if(u == v) break;
              			a[u] += a[v];
              		}
              	}
              }
              
              void tupo()
              {
              	queue<int> q;
              	for(int i = 1; i <= n; i++)
              	{
              		if(color[i] == i && !in[i])
              		{
              			q.push(i);
              			ans[i] = a[i];
              		}
              	}
              	
              	while(!q.empty())
              	{
              		int top = q.front();
              		q.pop();
              		
              		for(int i = 0; i < newvc[top].size(); i++)
              		{
              			v = newvc[top][i];
              			ans[v] = max(ans[v] , ans[top] + a[v]);
              			in[v]--;
              			if(!in[v])
              				q.push(v);
              		}
              	}
              	
              	int maxx = 0;
              	for(int i = 1; i <= n; i++)
              		maxx = max(maxx , ans[i]);
              	cout << maxx;
              }
              
              int main(){
              	cin >> n >> m;
              	for(int i = 1; i <= n; i++)
              		cin >> a[i];
              	while( m-- )
              	{
              		cin >> u >> v;
              		vc[u].push_back(v); 
              	}
              	for(int i = 1; i <= n; i++)
              		if(!dfn[i])
              			tarjan(i);
              	
              	//重新建边
              	for(int i = 1; i <= n; i++)
              	{
              		for(int j = 0; j < vc[i].size(); j++)
              		{
              			v = vc[i][j];
              			if(color[i] != color[v])
              			{
              				newvc[color[i]].push_back(color[v]);
              				in[color[v]]++; 
              			}	
              		}	
              	} 
              	
              	tupo();
              	
              	return 0;
              
              • 0
                @ 2025-12-14 12:27:47
                #include <iostream>
                using namespace std;
                int main()
                {
                	int a,b;
                	cin>>a>>b;
                	cout<<a+b;
                	return 0;
                }
                
                • 0
                  @ 2025-11-22 9:37:06
                  #include<bits/stdc++.h>
                  using namespace std;
                  const int N=1e3+10;
                  int Accepted(int a,int b){//Accepted()
                  	return a+b; 
                  }
                  int main()
                  {
                  	int a,b;
                  	cin >> a >> b;
                  	cout << Accepted(a,b);
                  	return 0;
                  }
                  //老登布置的作业系列
                  
                  
                  • 0
                    @ 2025-11-8 9:43:09
                    #include<bits/stdc++.h>
                    
                    using namespace std;
                    int main()
                    {
                    	string a1,b1;
                    	int a[10000]={},b[10000]={},c[10000]={};
                    	cin >> a1 >> b1;
                    	int lena=a1.size();
                    	int lenb=b1.size();
                    	for(int i=1;i<=lena;i++)
                    	{
                    		a[i]=a1[lena-i]-'0';
                    	} 
                    	for(int i=1;i<=lenb;i++)
                    	{
                    		b[i]=b1[lenb-i]-'0';
                    	}  
                    	int lenc=1;
                    	while(lenc<=lena||lenc<=lenb)
                    	{
                    		c[lenc]+=a[lenc]+b[lenc];
                    		if(c[lenc]>9)
                    		{
                    			c[lenc]-=10;
                    			c[lenc+1]++; 
                    		}
                    		lenc++;
                    	} 
                    	if(c[lenc]==0)
                    	{
                    		lenc--;
                    	}
                    	for(int i=lenc;i>=1;i--)
                    	{
                    		cout << c[i];
                    	}
                    	return 0;
                    }
                    
                    • 0
                      @ 2025-10-25 9:33:33
                      #include<bits/stdc++.h>
                      using namespace std;
                      const int N=1e3+10;
                      int a,b;
                      int main()
                      {
                      	cin >> a >> b;
                      	cout << a+b;
                      	return 0;
                      }
                      
                      
                      • -1
                        @ 2026-4-25 18:01:58

                        #include<bits/stdc++.h> using namespace std; const int N=1010;//1表示开头为1,2表示10的2次方 const int INT=0x3f3f3f3f;//INT+INT int范围内最大INT*INT ,long long; int n,m; void dfs(int n,int m){ int sum=0,ans=0; sum=n; ans=m; cout<<ans+1-1+1-1+1-1+sum+1-1+1-1+1-1; } int main( ) { cin>>n>>m; dfs(n,m); }

                        • -1
                          @ 2026-4-7 13:02:50

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

                          • -1
                            @ 2026-3-29 19:04:19

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

                            • -1
                              @ 2026-3-27 15:15:43
                              #include <bits/stdc++.h>
                              using namespace std;
                              
                              int main(){
                                  int a, b;
                                  cin >> a >> b;
                                  cout << a + b << endl;
                                  return 0;
                              }
                              
                              • -1
                                @ 2026-2-2 12:29:27
                                #include<bits/stdc++.h>
                                using namespace std;
                                
                                const int N=1e5+5;
                                
                                int n , m , a[N];
                                int u , v;
                                vector<int> vc[N];
                                int dfn[N] , low[N] , cnt;
                                bool vis[N];
                                stack<int> st;
                                int belong_cnt; //强连通分量个数 
                                vector<int> belong[N];//强连通分量 
                                int color[N];//color[i]表示第i头牛所处的强连通分量  
                                vector<int> newvc[N];
                                int in[N];//入度 
                                int ans[N];
                                void tarjan(int u)
                                {
                                	dfn[u] = low[u] = ++cnt;
                                	vis[u] = 1;
                                	st.push(u);
                                	for(int i = 0; i < vc[u].size(); i++)
                                	{
                                		int v = vc[u][i];
                                		if(!dfn[v])
                                		{
                                			tarjan(v);
                                			low[u] = min(low[u] , low[v]);
                                		}
                                		else if(vis[v])
                                		{
                                			low[u] = min(low[u] , low[v]);
                                		}	
                                	}
                                	//强连通分量到头	
                                	if(dfn[u] == low[u])
                                	{
                                		while(!st.empty())
                                		{
                                			v = st.top();
                                			st.pop();
                                			vis[v] = 0;
                                			color[v] = u;//当前牛所处的强连通分量 
                                			if(u == v) break;
                                			a[u] += a[v];
                                		}
                                	}
                                }
                                
                                void tupo()
                                {
                                	queue<int> q;
                                	for(int i = 1; i <= n; i++)
                                	{
                                		if(color[i] == i && !in[i])
                                		{
                                			q.push(i);
                                			ans[i] = a[i];
                                		}
                                	}
                                	
                                	while(!q.empty())
                                	{
                                		int top = q.front();
                                		q.pop();
                                		
                                		for(int i = 0; i < newvc[top].size(); i++)
                                		{
                                			v = newvc[top][i];
                                			ans[v] = max(ans[v] , ans[top] + a[v]);
                                			in[v]--;
                                			if(!in[v])
                                				q.push(v);
                                		}
                                	}
                                	
                                	int maxx = 0;
                                	for(int i = 1; i <= n; i++)
                                		maxx = max(maxx , ans[i]);
                                	cout << maxx;
                                }
                                
                                int main(){
                                	cin >> n >> m;
                                	for(int i = 1; i <= n; i++)
                                		cin >> a[i];
                                	while( m-- )
                                	{
                                		cin >> u >> v;
                                		vc[u].push_back(v); 
                                	}
                                	for(int i = 1; i <= n; i++)
                                		if(!dfn[i])
                                			tarjan(i);
                                	
                                	//重新建边
                                	for(int i = 1; i <= n; i++)
                                	{
                                		for(int j = 0; j < vc[i].size(); j++)
                                		{
                                			v = vc[i][j];
                                			if(color[i] != color[v])
                                			{
                                				newvc[color[i]].push_back(color[v]);
                                				in[color[v]]++; 
                                			}	
                                		}	
                                	} 
                                	
                                	tupo();
                                	
                                	return 0;
                                
                                • -1
                                  @ 2024-7-26 10:58:29

                                  A+B Problem题解

                                  新用户强烈建议阅读此帖

                                  首先我们要理清思路

                                  1.需要用到什么样的头文件?

                                  2.用什么样的数据范围?

                                  3.思路是什么?

                                  首先题目中的数据范围是1a,b≤10^6, 而int 的范围是-2147483648-2147483647 正合题意,所以数据类型可以用int

                                  话不多说,直接上代码

                                  #include<iostream>//导入头文件,iostream里面是标准输入输出流(我说的什么?) 
                                  using namespace std;//使用标准命名空间 
                                  int main(){//主函数,程序的入口 
                                  	int a,b;//创建a,b两个整型变量 
                                  	cin>>a>>b;//输入 a , b 两个变量 
                                  	cout<<a+b; //输出a+b的内容 
                                  	return 0; 
                                  }
                                  

                                  本蒟蒻发的第一篇题解,请多多支持喵~~

                                  • -2
                                    @ 2026-3-16 21:13:55

                                    #include <bits/stdc++.h> using namespace std;

                                    int main(){ int a,b; cin>>a>>b; cout<<a+b; return 0; }

                                    • -2
                                      @ 2025-12-30 22:23:26
                                      #include<iostream>
                                      using namespace std;
                                      int a,b;
                                      int main ( ) {
                                          cin>>a>>b;
                                          cout<<a+b;
                                      }
                                      
                                      • -2
                                        @ 2025-5-24 15:28:36
                                        #include<bits/stdc++.h>//万能头文件
                                        using namespace std;
                                        
                                        int main(){
                                        //定义int类型变量a,b
                                        int a;
                                        int b;
                                        //输入变量a,b
                                        scanf("%d",&a);
                                        scanf("%d",&b);
                                        //输出a,b
                                        printf(" %d\n", a + b);
                                        //exit(0); 或 return 0; 结束程序
                                        return 0;
                                        }
                                        
                                        
                                        • -2
                                          @ 2025-5-11 9:37:50

                                          权威

                                          #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;
                                          }
                                          
                                          
                                          
                                          

                                          信息

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