「csp模擬試題202009-1」稱檢測點查詢 C/C++
目錄
題目
輸入輸出樣例
題解思路
題解原始碼(c/c++)
題目 :稱檢測點查詢
題目背景
2020 年 6 月 8 日,國務院聯防聯控機制釋出《關於加快推進新冠病毒核酸檢測的實施意見》,提出對“密切接觸者”等八類重點人群“應檢盡檢”,其他人群“願檢盡檢”。
問題描述
某市設有 n 個核酸檢測點,編號從 1 到 n,其中 i 號檢測點的位置可以表示為一個平面整數座標 (xi, yi)。為方便預約核酸檢測,請根據市民所在位置 ,查詢距其最近的三個檢測點。多個檢測點距離相同時,編號較小的視為更近。
輸入格式
輸入共 n+1 行。
第一行包含用空格分隔的三個整數 n、X 和 Y,表示檢測點總數和市民所在位置。
第二行到第 n+1 行依次輸入 n 個檢測點的座標。第 i+1 行(1 <= i <= n)包含用空格分隔的兩個整數 xi 和 yi,表示 i 號檢測點所在位置。
輸出格式
輸出共三行,按距離從近到遠,依次輸出距離該市民最近的三個檢測點編號。
評測用例規模與約定
全部的測試點滿足 3≤n≤200,所有座標均為整數且絕對值不超過 1000。
輸入輸出樣例
輸入樣例1
3 2 2
2 2
2 3
2 4
輸出樣例1
1
2
3
輸入樣例2
5 0 1
-1 0
0 0
1 0
0 2
-1 2
輸出樣例2
2
4
1
題解思路
題目要求依次輸出距離該市民最近的三個檢測點編號,我們關心的只有距離和編號。建立一個只有距離和編號的結構體,最後進行排序。當距離不等的時候,距離最小的一個結構體在最前面,距離相等的時候,編號最小的在前面。
題解(c/c++)
#include<bits/stdc++.h>
using namespace std;
double distance(int a,int b,int x,int y)
{
return pow(x-a,2)+pow(y-b,2);
}
struct p_person
{
int flag_inputNum;//座標,輸入的第幾個
double dis;
};
int main(void)
{
int n,X,Y;
struct p_person test[210]={0};
cin>>n>>X>>Y;
for (int i=0;i<n;i++)
{
int x,y;
cin>>x>>y;
test[i].flag_inputNum=i+1;
test[i].dis=distance(x,y,X,Y);
}
// 從小到大排序
for (int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(test[i].dis>test[j].dis)
{
struct p_person temp=test[i];
test[i]=test[j];
test[j]=temp;
}
else if(test[i].dis==test[j].dis)
{
if(test[i].flag_inputNum>test[j].flag_inputNum)
{
struct p_person temp=test[i];
test[i]=test[j];
test[j]=temp;
}
}
}
}
for(int i=0;i<3;i++)
{
cout<<test[i].flag_inputNum<<endl;
}
return 0;
}
相關文章
- 202009-1 稱檢測點查詢(Java 100)Java
- 【題解】「CSP模擬賽」雨天 rainAI
- CSP模擬3
- csp模擬2
- CSP模擬1
- 二分查詢(c++)C++
- 折半查詢(C++實現)C++
- csp模擬27-金箱子(題解)
- 聯賽模擬測試20 C. Weed
- [賽記] csp-s模擬8 && csp-s模擬9
- CSP試題—— 風險人群篩查
- 功能測試-登陸、新增、刪除、查詢測試要點
- CSP模擬賽 #42
- CSP模擬賽 #39
- CSP模擬賽#34
- 真題模擬2022CSP-J總結
- c/c++ 面試題C++面試題
- c/c++面試題C++面試題
- c++中的查詢list元素C++
- C++ 變數型別查詢C++變數型別
- Windows10 VS2017 C++模擬點選按鍵WindowsC++
- 【實測】Python 和 C++ 下字串查詢的速度對比PythonC++字串
- 暑假集訓CSP提高模擬4 & 暑假集訓CSP提高模擬5
- c++面試題C++面試題
- c++筆試題C++筆試
- csp-s 模擬 12
- csp-s模擬10
- csp模擬賽 6 9.28
- csp-s模擬2
- 用C++模擬蚊子的運動來檢驗概率論內容C++
- c++字串查詢函式實現C++字串函式
- jmeter模擬spike測試(尖峰測試)JMeter
- [40](CSP 集訓)CSP 聯訓模擬 2
- H3C模擬延時測試ping包
- [考試記錄] 2024.10.7 csp-s模擬賽37
- [考試記錄] 2024.7.15 csp-s模擬賽4
- C/C++期末考試複習---知識點+習題C++
- c++面試題1C++面試題