题解 | #K.荷香竟深湎,永待盛夏陌。#

K.荷香竟深湎,永待盛夏陌。

https://ac.nowcoder.com/acm/contest/77922/A

#include<bits/stdc++.h>
using namespace std;
int a[10][10],row[10][10]={0},col[10][10]={0},c[3][3][9]={0};
void dfs(int x,int y){
    if(x<10&&y==10){
        x++;y=1;
    }
    if(x==10){
        for(int i=1;i<=9;i++){
            for(int j=1;j<=9;j++) 
                cout<<a[i][j]<<" ";
        cout<<endl;
        }
        exit(0);
    }
    if(a[x][y]) dfs(x,y+1);
    else{
    	for(int k=1;k<=9;k++){
    	if(!row[x][k]&&!col[y][k]&&!c[(x-1)/3][(y-1)/3][k]){
    		row[x][k]=col[y][k]=c[(x-1)/3][(y-1)/3][k]=1;
    		a[x][y]=k;
    		dfs(x,y+1);
    		a[x][y]=0;
    		row[x][k]=col[y][k]=c[(x-1)/3][(y-1)/3][k]=0;
		}
	}
	}
    
}
int main(){
    for(int i=1;i<=9;i++){
        for(int j=1;j<=9;j++){
            cin>>a[i][j];
            if(a[i][j]!=0) {
                int t=a[i][j];
                row[i][t]=col[j][t]=c[(i-1)/3][(j-1)/3][t]=1;
            }
        }
    }
    dfs(1,1);
}




全部评论

相关推荐

代码飞升_不回私信人...:别这样贬低自己,降低预期,放平心态,跟昨天的自己比。做好自己,反而会效率更高心态更好,加油兄弟
点赞 评论 收藏
分享
牛客nb666号:见天才的门槛罢了查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务