bnuoj 27987 Record of the Attack at the Orbit (模拟)

http://www.bnuoj.com/bnuoj/problem_show.php?pid=27987

【题意】:给定坐标输出图形

【题解】:处理坐标上的小技巧

【code】:

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string.h>
 4 #include <math.h>
 5 
 6 using namespace std;
 7 
 8 #define N 100
 9 
10 char str[N*3][N*3];
11 
12 void init()
13 {
14     int i,j;
15     for(i=0;i<250;i++)
16     {
17         for(j=0;j<250;j++)
18         {
19             str[i][j]='.';
20             if(i==100)
21             {
22                 str[i][j]='-';
23             }
24             if(j==100)
25             {
26                 str[i][j]='|';
27             }
28             if(i==100&&j==100)
29             {
30                 str[i][j]='+';
31             }
32         }
33     }
34 }
35 
36 int main()
37 {
38     int t;
39     scanf("%d",&t);
40     init();
41     int x1=1000,y1=1000,x2=-1,y2=-1;
42     while(t--)
43     {
44         int x,y;
45         scanf("%d%d",&y,&x);
46         x=-x;
47         x+=100;
48         y+=100;
49         if(x1>x)    x1=x;
50         if(y1>y)    y1=y;
51         if(x2<x)    x2=x;
52         if(y2<y)    y2=y;
53         str[x][y]='*';
54     }
55     if(x1>100)  x1=100;
56     if(y1>100)  y1=100;
57     if(x2<100)  x2=100;
58     if(y2<100)  y2=100;
59     int i,j;
60     for(i=x1;i<=x2;i++)
61     {
62         for(j=y1;j<=y2;j++)
63         {
64             putchar(str[i][j]);
65         }
66         putchar(10);
67     }
68     return 0;
69 }

 

posted @ 2013-09-27 16:21  crazy_apple  阅读(283)  评论(0编辑  收藏  举报