标签:ati rac str miss close time nts tween blog
>0&&xa<=n&&ya>0&&ya<=n&&map[xa][ya]) {a=map[xa][ya];k++;}
if(k>1) return 0;
}
}
if(k==1) return a;
}
if(k==1) return a;
else return 0;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%d",&map[i][j]);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(map[i][j]==0) ans[i][j]=dfs(i,j);
else ans[i][j]=map[i][j];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++) printf("%d ",ans[i][j]);
cout<<endl;
}
return 0;
}
Time Limit: 5000MS | Memory Limit: 65536K | |
Total Submissions: 4262 | Accepted: 1325 |
Description
Input
Output
Sample Input
3 0 0 0 1 0 2 0 3 0
Sample Output
1 0 2 1 0 2 0 3 0
Source
#include<iostream> #include<cmath> #include<cstring> #include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; int n,map[210][210]; int ans[210][210],xx[4]={-1,-1,1,1},yy[4]={1,-1,-1,1}; int dfs(int x,int y) { int k,a; for(int i=1;i<2*n;i++)//到(x,y)的距离为i { k=0; if(y-i>0&&map[x][y-i]) {a=map[x][y-i];k++;} if(y+1<=n&&map[x][y+i]) {a=map[x][y+i];k++;} if(x-i>0&&map[x-i][y]) {a=map[x-i][y];k++;} if(x+i<=n&&map[x+i][y]) {a=map[x+i][y];k++;} if(k>1) return 0; for(int j=1;j<i;j++)//横坐标绝对值差j { for(int p=0;p<4;p++)//左上左下右上右下 { int xa=x+xx[p]*j,ya=y+yy[p]*(i-j); if(xa>0&&xa<=n&&ya>0&&ya<=n&&map[xa][ya]) {a=map[xa][ya];k++;} if(k>1) return 0; } } if(k==1) return a; } if(k==1) return a; else return 0; } int main() { scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%d",&map[i][j]); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(map[i][j]==0) ans[i][j]=dfs(i,j); else ans[i][j]=map[i][j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) printf("%d ",ans[i][j]); cout<<endl; } return 0; }
标签:ati rac str miss close time nts tween blog
原文地址:http://www.cnblogs.com/SX0427/p/7811289.html