题目描述
It is just a mining spanning tree ( 最小生成树 ) problem, what makes you a little difficult is that you are in a 3D space.
输入
The first line of the input contains the number of test cases in the file. And t he first line of each case
contains one integer numbers n(0<n<30) specifying the number of the point . The n next n line s, each line
contain s Three Integer Numbers xi,yi and zi, indicating the position of point i.
输出
For each test case, output a line with the answer, which should accurately rounded to two decimals .
样例输入
2
2
1 1 0
2 2 0
3
1 2 3
0 0 0
1 1 1
样例输出
1.41
3.97
参考代码
#include<stdio.h>
#include<string.h>
int main()
{
int n,k;
scanf("%d",&n);
for (k=0;k<n;k++)
{
char t[2000];
int a,b,i,j,l;
int x,y;
char map[32][33]={0};
scanf("%d %d", &a,&b);
scanf("%s", &t);
l=strlen(t)-1;
x=31-b;
y=a;
for (i=0;i<l;i++)
{
if(t[i]=='E')
{
map[x+1][y+1]='X';
y++;
} else if(t[i]=='N')
{
map[x][y+1]='X';
x--;
} else if(t[i]=='W')
{
map[x][y]='X';
y--;
} else if(t[i]=='S')
{
map[x+1][y]='X';
x++;
}
}
printf("Bitmap #%dn",k+1);
for(i=0;i<32;i++)
{
for(j=1;j<33;j++)
{
if(map[i][j]!='X')
map[i][j]='.';
printf("%c",map[i][j]);
}
printf("n");
}
printf("n");
}
return 0;
}
解析
暂无