博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一道趣味数学算法问题
阅读量:6096 次
发布时间:2019-06-20

本文共 1095 字,大约阅读时间需要 3 分钟。

需求 

光照照明高度是100000
一块板子高度固定是50000
入射的点(0,50000) 判断如下点是否在反射和折射线上。反射线按1:2长宽比例 ,折射是按2:1长宽比例。 求要写多少次反射折射线
3<x,y<100000
蚊子即点的数量在0-30000之间

思路  x=2y+c  就是 题里面的无数平行线 c就是偏移量,x平移后的位置。

 把给定点带入公式,算出偏移量是否都一样,一样的就是一条线的,
 所有不一样的值得个数就是需要的线的个数。

测试数据
3
4
1 50002
2 50002
2 49999
2 50004
6
823 50001
822 50002
823 50002
823 50003
823 50004
823 50004
4
1 99999
2 1
99999 99999
99999 1

#1 2

#2 3
#3 4

 *

 */

import java.util.Scanner;

public class Solution {

    static int N;

    static int[] x = new int[30000];
    static int[] y = new int[30000];
    static int T;
    static int AnswerN;
   
    public static void main(String[] args){
       
        Scanner c =  new Scanner(System.in);
        T = c.nextInt();
       
        for(int test_case=1; test_case<=T;test_case++){
           
            N = c.nextInt();
           
            for(int i=0;i<N;i++){
                x[i]=c.nextInt();
                y[i]=c.nextInt();
            }
           
            for(int i=0;i<N;i++){
                y[i] = y[i] - 50000;
                if(y[i]>0){
                    x[i] = x[i] - y[i]/2;
                    y[i] = 0;
                }
                else{
                    x[i] = x[i] + 2*y[i];
                    y[i] = 0;
                }
            }
           
            AnswerN = 1;
           
            for(int i=1;i<N;i++){
                boolean fit = false;
                for(int j=0;j<i;j++){
                    if(x[i]==x[j]&&y[i]==y[j]){
                        fit = true;
                        break;
                    }
                }
                if(!fit) AnswerN++;
            }
          
           System.out.println("#"+test_case+" "+AnswerN);
   
        }
       
    }
   
   
}

转载地址:http://lrwza.baihongyu.com/

你可能感兴趣的文章
iOS13-适配夜间模式/深色外观(Dark Mode)
查看>>
网易跟贴这么火,背后的某个力量不可忽视
查看>>
Java工程师学习指南初级篇
查看>>
华为朝向智能家庭!将从电视开始
查看>>
世界五大计算机程序员
查看>>
Android与Gradle(二):插件打包上传到Maven服务器
查看>>
vue注册事件 -防止多次点击
查看>>
JS隐式转换--宽松相等(==)
查看>>
Node.js 及 Vue-cli 安装
查看>>
12.设计模式
查看>>
【JS基础】从JavaScript中的for...of说起(上) - iterator 和 generator
查看>>
自定义图片裁剪之双指缩放思路
查看>>
前端的伙伴们, chrome canary 控制台添加了一个非常实用的功能
查看>>
Serverless助力AI计算:阿里云ACK Serverless/ECI发布GPU容器实例
查看>>
export 和 export default的一些区别以及引入时解构的用法
查看>>
HTTP2基础教程-读书笔记(一)发展史和诞生背景
查看>>
移动端调试方法汇总
查看>>
未来人类会成为机器人吗?
查看>>
js原生日历
查看>>
Cookie简介
查看>>