3 条题解

  • -8
    @ 2022-4-19 22:36:01

    严禁抄题解,发现后取消成绩

    • -10
      @ 2022-4-24 17:46:52

      写题解请注意

      鼓励大家写题解,但注意题解格式。

      题解一定要有思路解析或代码注释,能否让别人理解你的思路

      也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

      给代码两端加上这个会舒服一些

      ```cpp

      你的代码

      ```

      </span>

      这个点在键盘的左上角tab上面那个键,注意切换输入法

      #include<iostream>
      using namespace std;
      int main()
      {
          int n;
          cin>>n;//这是一个注释
          return 0;
      } 
      

      请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

      抄袭题解一经发现直接取消成绩。

      题解被删除的可能

      1. 代码不符合格式规范
      2. 没有思路讲解或者没有注释,
      3. 无意义的题解

      大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

      • -10
        @ 2021-11-9 20:05:25
        #include<iostream>
        using namespace std;
        int n,m,ans;
        bool vis[10][10];
        int dx[2]={1,0}; 
        int dy[2]={0,1};//先下横坐标会加1,纵不变。下完了开始右,右的时候横不变,纵加1. 
        void show()//输出 
        {
        	cout<<ans<<":";
        	for(int i=1;i<=n;i++)
        	{
        		for(int j=1;j<=m;j++)
        		{
        			if(vis[i][j]&&(i!=n||j!=m))
        			{
        				cout<<i<<","<<j<<"->";
        			}
        		}
        	}
        	cout<<n<<","<<m;
        	cout<<endl;
        	return ;
        }
        void dfs(int x,int y)
        {
        	if(x==n&&y==m)//搜到(n,m) 
        	{
        		ans++;
        		show();
        		return ;
        	}
        	for(int i=0;i<2;i++)
        	{
        		int nx=x+dx[i];
        		int ny=y+dy[i];
        		if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&!vis[nx][ny])//没访问且是矩阵范围的坐标 
        		{
        			vis[nx][ny]=true;
        			dfs(nx,ny);
        			vis[nx][ny]=false;//回溯 
        		}
        	}
        }
        int main()
        {
        	cin>>n>>m;
        	vis[1][1]=true;//起点自己标记一下。 
        	dfs(1,1);
        	return 0;
         }
        • 1

        信息

        ID
        357
        时间
        1000ms
        内存
        16MiB
        难度
        1
        标签
        递交数
        50
        已通过
        39
        上传者