• 个人简介

    string name="模拟代替大脑,暴力不用思考";

    //合法数独:

    #include <bits/stdc++.h>
    using namespace std;
    int a[10][10];
    bool hang[10][10],lie[10][10],sd[10][10];
    int over(){
    	cout<<"No";
    	return 0;
    }
    int main(){
    	for (int i = 1;i <= 9;i++)
    		for (int j = 1;j <= 9;j++)
    			cin>>a[i][j];
    	for (int i = 1;i <= 9;i++){
    		for (int j = 1;j <= 9;j++){
    			if (hang[i][a[i][j]]!=0)
    				return over();
    			else 
    				hang[i][a[i][j]]=1;
    		}
    	}
    	for (int i = 1;i <= 9;i++){
    		for (int j = 1;j <= 9;j++){
    			if (lie[j][a[i][j]]!=0)
    				return over();
    			else 
    				lie[j][a[i][j]]=1;
    		}
    	}
    	for (int i = 0;i < 9;i++){
    		for (int j = 0;j < 9;j++){
    			if (sd[i/3*3+j/3][a[i+1][j+1]]!=0)
    				return over();
    			else 
    				sd[i/3*3+j/3][a[i+1][j+1]]=1;
    		}
    	}
    	cout<<"Yes";
    	return 0;
    }
    

    凯撒密码:

    #include <bits/stdc++.h>
    using namespace std;
    int d;
    char c,a[1010];
    int main(){
    	cin>>a;
    	cin>>d;
    	int y = strlen(a);
    	for (int i = 0;i < y;i++){
    		c=a[i];
    		if (c >= '0' && c <= '9')
    			cout<<(c+d-'0')%10;
    		else if (c >= 'a' && c <= 'z')
    			cout<<(char)((97+(c+d-'a')%26)-32);
    		else 
    			cout<<(char)('A'+(c+d-'A')%26);
    	}
        return 0;
    }
    

    2048:

    #include<bits/stdc++.h>
    using namespace std;
    int a[5][5],scor,bi_scor,way;
    void fir(){
    	for (int i = 0; i < 16;i++)
    		a[i/4+1][i%4+1]=0;
    	if (scor > bi_scor){
    		printf("破纪录!\n新高分:%d\n",scor);
    		bi_scor=scor;
    	}
    	scor=2;
    } 
    void whi(){
    	for (int i = 1;i <= 4;i++){
    		for (int j = 1;j <= 4;j++)
    			cout<<a[i][j]<<' ';
    		cout<<endl;
    	}
    	cout<<"当前得分:"<<scor<<endl;
    	cin>>way;
    	if (way==1){
    		for (int j = 1;j < 4;j++){
    			for (int i = 1;i <= 4;i++){
    				if (a[i][j]!=0){
    					if (a[i][j+1]==0){
    						a[i][j+1]=a[i][j];
    						a[i][j]=0;
    					}
    					if (a[i][j+1]==a[i][j]){
    						a[i][j+1]+=a[i][j];
    						a[i][j]=0;
    					}
    				}
    			}
    		}
    	}
    	if (way==2){
    		for (int i = 1;i < 4;i++){
    			for (int j = 1;j <= 4;j++){
    				if (a[i][j]!=0){
    					if (a[i+1][j]==0){
    						a[i+1][j]=a[i][j];
    						a[i][j]=0;
    					}
    					if (a[i+1][j]==a[i][j]){
    						a[i+1][j]+=a[i][j];
    						a[i][j]=0;
    					}
    				}
    			}
    		}
    	}
    	if (way==3){
    		for (int j = 4;j > 1;j--){
    			for (int i = 1;i <= 4;i++){
    				if (a[i][j]!=0){
    					if (a[i][j-1]==0){
    						a[i][j-1]=a[i][j];
    						a[i][j]=0;
    					}
    					if (a[i][j-1]==a[i][j]){
    						a[i][j-1]+=a[i][j];
    						a[i][j]=0;
    					}
    				}
    			}
    		}
    	}
    	if (way==4){
    		for (int i = 4;i > 1;i--){
    			for (int j = 1;j <= 4;j++){
    				if (a[i][j]!=0){
    					if (a[i-1][j]==0){
    						a[i-1][j]=a[i][j];
    						a[i][j]=0;
    					}
    					if (a[i-1][j]==a[i][j]){
    						a[i-1][j]+=a[i][j];
    						a[i][j]=0;
    					}
    				}
    			}
    		}
    	}
    }
    void add(){
    	for (int i = 0;i < 16;i++){
    		if (a[i/4+1][i%4+1]==0){
    			a[i/4+1][i%4+1]=2;
    			break;
    		}
    	}
    }
    void if_end(){
    	bool flag=1;
    	for (int i = 1;i <= 4;i++)
    		for (int j = 1;j <= 4;j++)
    			if (a[i][j]==0)
    				flag=0;
    	if (flag){
    		printf("游戏结束!\n");
    		fir();
    	}
    }
    void sscor(){
    	for (int i = 0;i < 16;i++)
    		if (a[i/4+1][i%4+1] > scor)
    			scor=a[i/4+1][i%4+1];
    }
    int main(){
    	while(1){
    		add();
    		whi();
    		if_end();
    		sscor();
    	}
    	return 0;
    }
    

    扫雷:

    #include <bits/stdc++.h>
    
    using namespace std;
    
    struct made{
    	char front;
    	char behind;
    	int number;  
    };
    int x,y,boob_num=15,boob_now=0,n=1,g=0;
    made qp[11][11];
    void clean(){
    	for (int i = 1;i <= 10;i++){
    		for (int j = 1;j <= 10;j++){
    			if ((100-n)==(boob_num-boob_now))
    				qp[i][j].behind='*',boob_now++;
    			else if (boob_now!=boob_num && rand()%5==0) 
    				qp[i][j].behind='*',boob_now++;
    			else 
    				qp[i][j].behind=' ';
    			n++;
    		}
    	}
    	boob_now=0,n=1,g=0;
    	for (int i = 1;i <= 10;i++){
    		for (int j = 1;j <= 10;j++){
    			qp[i][j].front='#';
    			if (qp[i][j].behind!='*')
    				qp[i][j].number=(qp[i+1][j].behind=='*')+(qp[i+1][j+1].behind=='*')+(qp[i+1][j-1].behind=='*')+(qp[i][j+1].behind=='*')+(qp[i][j-1].behind=='*')+(qp[i-1][j+1].behind=='*')+(qp[i-1][j].behind=='*')+(qp[i-1][j-1].behind=='*');
    		}
    	}
    } 
    
    int main(){
    	srand(time(NULL)); 
    	while (1){
    		clean();
    		while (1){
    			for (int i = 1;i <= 10;i++,cout<<endl)
    				for (int j = 1;j <= 10;j++)
    					cout<<qp[i][j].front;
    			cout<<"请输入排查格子坐标(x y):";
    			cin>>x>>y;
    			if (qp[x][y].behind=='*'){
    				cout<<"BOOM!!!\n游戏结束\n雷区地图:\n";
    				for (int i = 1;i <= 10;i++,cout<<endl){
    					for (int j = 1;j <= 10;j++){
    						if (qp[i][j].behind=='*')
    							cout<<'*';
    						else 
    							cout<<qp[i][j].number;
    					}
    				}
    				break;
    			}
    			g++;
    			if (g==85){
    				cout<<"所有地雷已被找出\n地雷图:\n";
    				for (int i = 1;i <= 10;i++,cout<<endl){
    					for (int j = 1;j <= 10;j++){
    						if (qp[i][j].behind=='*')
    							cout<<'*';
    						else 
    							cout<<qp[i][j].number;
    					}
    				}
    				break;
    			} 
    			qp[x][y].front=(char)(qp[x][y].number+48);
    		}
    
    	}
    	return 0;
    }
    

    快速幂:

    #include <bits/stdc++.h>
    using namespace std;
    long long a,b,p;
    long long poow(long long x,long long y){
    	long long ans=1;
    	while(y){
    		if (y&1) ans=(ans*x)%p;
    		x=(x*x)%p;
    		y>>=1;
    	}
    	return ans%p;
    }
    int main(){
        cin>>a>>b>>p;
        printf("%lld^%lld mod %lld=%lld",a,b,p,poow(a,b));
        return 0;
    }
    

    快速排序:

    #include <bits/stdc++.h>
    using namespace std;
    int m,a[2000010];
    void qsort(int right,int left){
    	if (left>right) return ;
    	int key = a[(right+left)/2];
    	int i = left,j = right;
    	while (i<=j){
    		while (a[i]<key) i++;
    		while (a[j]>key) j--;
    		if (i<=j){
    			swap(a[i],a[j]);
    			i++,j--;
    		}
    	}
    	if (left<=j) qsort(j,left);
    	if (i<=right) qsort(right,i);
    }
    int main(){
    	cin>>m;
    	for (int i = 1;i <= m;i++){
    		cin>>a[i];
    	}
    	qsort(m,1);
    	for (int i = 1;i <= m;i++){
    		cout<<a[i]<<' '; 
    	} 
    	return 0;
    }
    
    #include <bits/stdc++.h>
    using namespace std;
    long long n;
    int main(){
    	cin>>n;
    	long long i = 2;
    	while (i<=n){
    		if (n%i==0){
    			cout<<i<<' ';
    			n/=i;
    			i=2;
    		}
    		else
    			i++;
    	}
    	return 0;
    }
    
  • 通过的题目

  • 最近活动

题目标签

语法
4
NOIP 普及组
3
2015
2
其他
2
快速幂
2
1
1
2005
1
2016
1
2020
1
2022
1
测试
1
CSP-J
1
模拟
1
O2优化
1
基础算法
1
CSP J 入门级
1
字符串
1
DAI
1
NOIP
1
提高组
1