• 2019年的一些感想


    今年以来,发现以前很多“不可做”的题现在都变得简单起来了。(是不是因为我太蒻了)

    尤其是像“马的遍历”这样的题。(别欺负小蒟蒻不会用队列QAQ)

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    int a[401][401];//存储答案 
    int n,m,sx,sy;
    int movex[8]={2,2,1,-1,-2,-2,-1,1},movey[8]={-1,1,2,2,1,-1,-2,-2};//马走“日” 
    int qx[160001],qy[160001],k[160001];
    int xyds=1;
    void bfs(int step)
    {
    	if(k[step-1]==xyds) return;
    	k[step]=xyds;
    	int djy=xyds;
    	for(int i=k[step-1];i<djy;i++){
    		for(int j=0;j<=7;j++){//尝试8个方向 
    			int x=qx[i]+movex[j],y=qy[i]+movey[j];
    			if(x>=1&&x<=n&&y>=1&&y<=m&&a[x][y]==-1){
    				a[x][y]=step;//存储步数 
    				qx[xyds]=x;
    				qy[xyds]=y;//存储位置 
    				xyds++;
    			}
    		}
    	}
    	bfs(step+1);
    }
    int main()
    {
    	memset(a,-1,sizeof(a));
    	scanf("%d%d%d%d",&n,&m,&sx,&sy);
    	a[sx][sy]=0;
    	qx[0]=sx;
    	qy[0]=sy;
    	bfs(1);
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++) printf("%-5d",a[i][j]);//左对齐输出 
    		printf("
    ");
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    foreach
    if
    注意事项
    Maven测试
    课程评价
    个人总结
    HTML表格CSS美化
    让多个输入框对齐
    CSS样式写在JSP代码中的几种方法
    日常
  • 原文地址:https://www.cnblogs.com/dong-ji-yuan/p/10307540.html
Copyright © 2020-2023  润新知