3 条题解

  • 1
    @ 2023-1-5 15:54:02
    #include<bits/stdc++.h>
    using namespace std;
    int n,tot,b[15],c[30],d[30],a[15];
    void dfs(int k)
    {
    	if(k>n)
    	{
    		tot++;
    		return;
    	}
    	for(int i=1;i<=n;i++)
    	{
    		if(!b[i]&&!c[k+i]&&!d[k-i+n])
    		{
    			a[k]=i;
    			b[i]=1;
    			c[k+i]=1;
    			d[k-i+n]=1;
    			dfs(k+1);
    			b[i]=0;
    			c[k+i]=0;
    			d[k-i+n]=0;
    		}
    	}
    }
    int main()
    {
    	cin>>n;
    	dfs(1);
    	cout<<tot;
    	return 0;
    }
    
    • 0
      @ 2023-12-3 16:15:09
      #include<bits/stdc++.h>
      using namespace std;
      int a[100001],que[100001][3];
      int main()
      {
      	int n,k,head,tail,xx,t;
      	cin>>n>>k;
      	if(n==k)
      	{
      		cout<<0<<endl;
      		return 0;
      	}
      	head=0;
      	tail=1;
      	que[1][0]=n;
      	que[1][1]=0;
      	a[n]=1;
      	while(head<tail)
      	{
      		head++;
      		xx=que[head][0];
      		for(int i=1;i<=3;i++)
      		{
      			if(i==1) t=xx+1;
      			if(i==2) t=xx-1;
      			if(i==3) t=2*xx;
      			if(t>=0 && t<=100000&&a[t]==0)
      			{
      				tail++;
      				que[tail][0]=t;
      				que[tail][1]=que[head][1]+1;
      				a[t]=1;
      				if(t==k)
      				{
      					cout<<que[tail][1];
      					return 0;
      				}
      			}
      		}
      	 } 
       return 0; 
      }
      
      • 0
        #include <iostream>
        using namespace std;
        const int maxn=1e4;
        int n;
        bool vis_c[maxn],vis_r[maxn],vis_l[maxn];
        char a[maxn][maxn];
        int id=0;
        void dfs(int i){
        	if(i==n+1){
        		id++;
        	}
        	for(int j=1;j<=n;j++){
        		if(!vis_c[j]&&!vis_r[i-j+n]&&!vis_l[i+j-1]){
        			vis_c[j]=vis_r[i-j+n]=vis_l[i+j-1]=1;
        			a[i][j]=1;
        			dfs(i+1);
        			vis_c[j]=vis_r[i-j+n]=vis_l[i+j-1]=0;
        			a[i][j]=0;
        		}
        	}
        }
        int main(){
        	cin>>n;
        	dfs(1);
        	cout<<id;
        	return 0;
        }
        
        • 1

        信息

        ID
        1637
        时间
        1000ms
        内存
        256MiB
        难度
        5
        标签
        递交数
        162
        已通过
        65
        上传者