首页 > ACM题库 > HDU-杭电 > HDU 4218- IMBA?[解题报告]HOJ
2015
05-23

HDU 4218- IMBA?[解题报告]HOJ

IMBA?

问题描述 :

As a kind problem setter, I should warn you, as you may already notice the sample output, it’s a horrible problem and very IMBA (imbalanced).
Today we learn circle, a circle is a simple shape of Euclidean geometry consisting of those points in a plane that are a given distance from a given point, the center. The distance between any of the points and the center is called the radius.
Circles are simple closed curves which divide the plane into two regions: an interior and an exterior. In everyday use, the term "circle" may be used interchangeably to refer to either the boundary of the figure, or to the whole figure including its interior; in strict technical usage, the circle is the former and the latter is called a disk.
A circle can be defined as the curve traced out by a point that moves so that its distance from a given point is constant. A circle may also be defined as a special ellipse in which the two foci are coincident and the eccentricity is 0. Circles are conic sections attained when a right circular cone is intersected by a plane perpendicular to the axis of the cone.
Now let’s draw a circle with your program. Given a radius R, we draw a circle in a (2*R + 1) * (2*R + 1) rectangle, set the center of circle at (R, R) (0-based), for all point, if the square root of the difference between the square of its distance to the center and the square of the radius is less than
1.732050807568877293527446341505872366942805253810380628055806979451933016908800037081146186757248575675626141415406703029969945094998952478
81165551209437364852809323190230558206797482010108467492326501531234326690332288665067225466892183797122704713166036786158801904998653737985
9389467650347506576051, draw a star (‘*’), otherwise draw a blank.
Refer to the output for more details. To avoid Presentation Error, you should output exactly the same characters in each row of one test case. The sample output are not completely standard for some non-shown blanks, take care.

输入:

The first line contains a single integer T, indicating the number of test cases.
Each test case contains one integer R.

Technical Specification
1. 1 <= T <= 10
2. 3 <= R <= 18

输出:

The first line contains a single integer T, indicating the number of test cases.
Each test case contains one integer R.

Technical Specification
1. 1 <= T <= 10
2. 3 <= R <= 18

样例输入:

2
10
13

样例输出:

Case 1:
         ***
      *       *
    *           *
   *             *
  *               *

 *                 *


*                   *
*                   *
*                   *


 *                 *

  *               *
   *             *
    *           *
      *       *
         ***
Case 2:
            ***
        *         *
      *             *



  *                     *

 *                       *



*                         *
*                         *
*                         *



 *                       *

  *                     *



      *             *
        *         *
            ***
Hint
If you can’t output the sample output, or you get a Wrong Answer and then find your program didn’t output as the sample, please don’t ask me why or talk to your teammate, “IS iSea a SX? Obviously wrong sample! ”, think, and think again.

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include <algorithm>
using namespace std;

int main()
{
	int T,r;
	cin>>T;
	for(int t=1;t<=T;t++) 
	{ 
		cin>>r; 
		cout<<"Case "<<t<<":"<<endl; 
		for(int i=0;i<2*r+1;i++)
		{
			for(int j=0;j<2*r+1;j++)
			{
				if(abs(r*r-((i-r)*(i-r)+(j-r)*(j-r)))<=3)
				cout<<"*";
				else cout<<" "; 
			} 
			cout<<endl; 
		} 
	} 
	return 0; 
}