您好,登錄后才能下訂單哦!
這篇文章主要介紹“c++實例數學算法題分析”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“c++實例數學算法題分析”文章能幫助大家解決問題。
需求
光照照明高度是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);
}
}
}
關于“c++實例數學算法題分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。