标签:des style http color os strong io for
| Time Limit: 2000MS | Memory Limit: 65536K | |||
| Total Submissions: 13665 | Accepted: 6767 | Special Judge | ||
Description

Input
Output
Sample Input
1 103000509 002109400 000704000 300502006 060000050 700803004 000401000 009205800 804000107
Sample Output
143628579 572139468 986754231 391542786 468917352 725863914 237481695 619275843 854396127
Source
AC代码:
#include<iostream>
using namespace std;
char G[15][15];
char ch[15]={'0','1','2','3','4','5','6','7','8','9'};
int a[15]={0,1,1,1,4,4,4,7,7,7};
int sucess;
int judge(int x,int y,int k){
for(int i=1;i<=9;i++){
if(G[x][i]==ch[k])
return 0;
}
for(int i=1;i<=9;i++){
if(G[i][y]==ch[k])
return 0;
}
for(int i=a[x];i<=a[x]+2;i++)
for(int j=a[y];j<=a[y]+2;j++)
if(G[i][j]==ch[k])
return 0;
return 1;
}
void dfs(int x,int y){
if(sucess)
return ;
if(x*y>81){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++)
cout<<G[i][j];
cout<<endl;
}
sucess=1;
return ;
}
if(G[x][y]!='0'){
if(y==9)
dfs(x+1,1);
else
dfs(x,y+1);
}
else{
for(int k=1;k<=9;k++){
if(judge(x,y,k)){
G[x][y]=ch[k];
if(y==9)
dfs(x+1,1);
else
dfs(x,y+1);
G[x][y]='0';
}
}
}
}
int main(){
int T; cin>>T;
while(T--){
for(int i=1;i<=9;i++)
cin>>G[i]+1;
sucess=0;
dfs(1,1);
}
return 0;
}标签:des style http color os strong io for
原文地址:http://blog.csdn.net/my_acm/article/details/38338767