67 条题解

  • -2
    @ 2026-6-5 20:32:18

    //这是游戏 #include #include <windows.h> #include <conio.h> #include #include using namespace std;

    const int WIDTH = 40; const int HEIGHT = 20;

    // 蛇身体(最多100节) int snakeX[100]; int snakeY[100]; int len = 3; // 初始长度 int dir = 77; // 初始方向:右

    int coinX, coinY; int score = 0; bool exitGame = false;

    // 隐藏光标 void HideCursor() { HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO ci = {1, FALSE}; SetConsoleCursorInfo(h, &ci); }

    // 定位光标 void GotoXY(int x, int y) { COORD pos = {(SHORT)x, (SHORT)y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); }

    // 设置颜色:红色蛇,黄色金币 void SetColor(int color) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color); }

    // 生成金币 void NewCoin() { coinX = rand() % (WIDTH - 2) + 1; coinY = rand() % (HEIGHT - 2) + 1; }

    // 初始化蛇 void InitSnake() { len = 3; snakeX[0] = WIDTH / 2; snakeY[0] = HEIGHT / 2; snakeX[1] = snakeX[0] - 1; snakeY[1] = snakeY[0]; snakeX[2] = snakeX[0] - 2; snakeY[2] = snakeY[0]; }

    // 绘制整个画面 void Draw() { GotoXY(0, 0);

    // 上边框
    for (int i = 0; i < WIDTH; i++) cout << "-";
    cout << endl;
    
    for (int y = 1; y < HEIGHT; y++) {
        cout << "|";
        for (int x = 1; x < WIDTH - 1; x++) {
    
            bool isSnake = false;
            // 画蛇头
            if (x == snakeX[0] && y == snakeY[0]) {
                SetColor(12); // 亮红
                cout << "O";
                isSnake = true;
            }
            // 画蛇身
            for (int i = 1; i < len; i++) {
                if (x == snakeX[i] && y == snakeY[i]) {
                    SetColor(10); // 绿色
                    cout << "o";
                    isSnake = true;
                }
            }
            // 画金币
            if (x == coinX && y == coinY) {
                SetColor(14); // 黄色
                cout << "$";
                isSnake = true;
            }
            // 空白
            if (!isSnake) {
                SetColor(7); // 白色
                cout << " ";
            }
        }
        SetColor(7);
        cout << "|\n";
    }
    
    // 下边框
    for (int i = 0; i < WIDTH; i++) cout << "-";
    cout << "\n得分:" << score << "    ↑↓←→移动  ESC退出";
    

    }

    // 按键控制方向 void KeyControl() { if (_kbhit()) { int key = _getch(); if (key == 27) exitGame = true;

        if (key == 224) {
            key = _getch();
            // 防止180度掉头
            if (!((key == 72 && dir == 80) || (key == 80 && dir == 72) ||
                  (key == 75 && dir == 77) || (key == 77 && dir == 75))) {
                dir = key;
            }
        }
    }
    

    }

    // 蛇移动 void MoveSnake() { // 身体跟着头走 for (int i = len - 1; i > 0; i--) { snakeX[i] = snakeX[i - 1]; snakeY[i] = snakeY[i - 1]; }

    // 移动头
    switch (dir) {
        case 72: snakeY[0]--; break; // 上
        case 80: snakeY[0]++; break; // 下
        case 75: snakeX[0]--; break; // 左
        case 77: snakeX[0]++; break; // 右
    }
    
    // 撞墙死亡
    if (snakeX[0] <= 0 || snakeX[0] >= WIDTH - 1 || snakeY[0] <= 0 || snakeY[0] >= HEIGHT - 1)
        exitGame = true;
    

    }

    // 吃金币 + 变长 void EatCoin() { if (snakeX[0] == coinX && snakeY[0] == coinY) { score += 10; len++; // 身体变长 NewCoin(); // 新金币 } }

    int main() { HideCursor(); srand((unsigned)time(NULL)); InitSnake(); NewCoin();

    while (!exitGame) {
        Draw();
        KeyControl();
        MoveSnake();
        EatCoin();
        Sleep(120); // 速度
    }
    
    system("cls");
    cout << "游戏结束!最终得分:" << score << endl;
    return 0;
    

    }

    • -2
      @ 2026-5-29 13:50:47
      var a, b: longint;
      begin
          readln(a,b);
          writeln(a+b);
      end.
      
      
      • -2
        @ 2026-5-29 13:48:27
        import java.io.*;
        import java.util.*;
        public class Main {
            public static void main(String args[]) throws Exception {
                Scanner cin=new Scanner(System.in);
                int a = cin.nextInt(), b = cin.nextInt();
                System.out.println(a+b);
            }
        }
        
        
        • -2
          @ 2026-5-15 17:25:00

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

          • -2
            @ 2026-4-15 13:23:53

            python代码

            
            a=int(input())
            b=int(input())
            print(a+b)
            
            • -2
              @ 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; }

              • -2
                @ 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;
                }
                
                • -2
                  @ 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;
                  }
                  
                  • -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-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;
                        }
                        
                        
                        
                        
                        • -3
                          @ 2026-5-31 17:29:11

                          AC干活

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

                          拿走不用谢(●'◡'●)

                          • -3
                            @ 2026-4-27 21:14:43

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

                            • -3
                              @ 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); }

                              • -3
                                @ 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;
                                }
                                • -3
                                  @ 2026-4-7 13:02:50

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

                                  • -3
                                    @ 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;
                                    
                                    • -3
                                      @ 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;
                                      
                                      • @ 2026-5-31 17:30:55

                                        老师,最后的括号没了 应该在“return 0”下边的

                                    • -3
                                      @ 2025-10-25 9:34:12
                                      #include<iostream>
                                      using namespace std;
                                      int main(){
                                          int a,b;
                                          cin>>a>>b;
                                          cout<<a+b;
                                      return 0;
                                      }
                                      
                                      • -3
                                        @ 2025-2-21 19:53:22

                                        最短题解

                                        #include<iostream>
                                        int a,b;int main(){std::cin>>a>>b;std::cout<<a+b;}
                                        

                                        信息

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