1 solutions
-
0
C :
#include <stdio.h> int main() { int a[7][7] = {0}; int dx[8] = { 0, 1, 1, 1, 0,-1,-1,-1}; int dy[8] = {-1,-1, 0, 1, 1, 1, 0,-1}; int n,m,k; int i,j; scanf("%d%d%d",&n,&m,&k); for(i=0; i<k; ++i) { int x,y; scanf("%d%d",&x,&y); a[x][y] = -1; for(j=0; j<8; ++j) { if(a[x+dx[j]][y+dy[j]] != -1) ++a[x+dx[j]][y+dy[j]]; } } for(i=1; i<=n; ++i) { for(j=1; j<m; ++j) { if(a[i][j] != -1) printf("%d ", a[i][j]); else printf("%c ", '*'); } if(a[i][m] != -1) printf("%d\n", a[i][m]); else printf("%c\n", '*'); } return 0; }C++ :
//第一行有3个数字n,m和k。 #include<iostream> using namespace std; int dir[8][2]={{-1,1},{0,1},{1,1},{-1,0},{1,0},{-1,-1},{0,-1},{1,-1}}; int main() { int n,m,k,x,y; int map[5][5]={0}; int Falg[5][5]={0}; cin>>m>>n>>k; for(int i=0;i<k;i++) { cin>>x>>y; Falg[x-1][y-1]=1; for(int j=0;j<8;j++) { int tempx=x-1+dir[j][0]; int tempy=y-1+dir[j][1]; if(tempx<m&&tempx>=0&&tempy<n&&tempy>=0) map[tempx][tempy]++; } } for(int i=0;i<m;i++) for(int j=0;j<n;j++) { if(Falg[i][j]) printf(j!=n-1 ? "* ":"*\n"); else printf(j!=n-1 ? "%d ":"%d\n",map[i][j]); } return 0; }
- 1
Information
- ID
- 16840
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By