hdoj 4218 IMBA?

本文提供了一道来自首届华中区程序设计邀请赛的题目解析及JAVA代码实现。该题通过模拟过程来判断并打印特定条件下的坐标是否符合条件,并解决了精度问题。

类型:JAVA

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4218

来源:首届华中区程序设计邀请赛暨第十届武汉大学程序设计大赛

思路:1.7320508075688.....的平方为3。然后模拟过程打印

!!!z <= 3[精度问题]

/*hdoj 4218 IMBA?*/
import java.util.*;
import java.math.*;
public class Main{
    public static void main(String[] args)
    {
        Scanner cin = new Scanner(System.in);
        int t, cnt;
        t = cin.nextInt();
        for(int i = 1; i <= t; i++){
            char[][] ans = new char[40][40];
            cnt = cin.nextInt();
            for(int i1 = 0;i1 <= 2 * cnt; i1++)
                for(int j1 = 0; j1 <= 2 * cnt; j1++)
                {
                    ans[i1][j1] = ' ';
                    double x, y, z;
                    x = (i1 - cnt) * (i1 - cnt) + (j1 - cnt) * (j1 - cnt);
                    y = cnt * cnt;
                    if(x > y)
                        z = x - y;
                    else
                        z = y - x;
                    if(z <= 3)
                        ans[i1][j1] = '*';
                }
            System.out.println("Case " + i + ":");
            for(int i1 = 0; i1 <= 2 * cnt; i1++)
            {
                for(int j1 = 0; j1 <= 2 * cnt; j1++)
                    System.out.print(ans[i1][j1]);
                System.out.println();
            }
        }
        System.exit(0);
     }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值