通过该道题目: 题目描述如下: 示例代码:
#include<iostream> #include<vector> #include<string> #include<sstream> using namespace std; typedef struct stPlayerInfo { int x; int y; int dis; }stPlayerInfo; int main() { try { int x;//玩家的横坐标 int y;//玩家的纵坐标 string str; getline(cin,str); for(int i=0; i < str.length();++i) { if(str[i] == ',' ) { str[i] = ' '; } } istringstream istr(str); istr >> x >> y; //NPC数量 int npc_num; istr >> npc_num; vector<stPlayerInfo> npc_pos; for(int i=0; i < npc_num; ++i) { stPlayerInfo tmp_pos; istr>>tmp_pos.x >> tmp_pos.y; tmp_pos.dis = (tmp_pos.x-x)*(tmp_pos.x-x) + (tmp_pos.y-y)*(tmp_pos.y-y); npc_pos.push_back(tmp_pos); } //查找 int mindex =0; for(int k=1; k < npc_pos.size();++k) { if( npc_pos[k].dis < npc_pos[mindex].dis) mindex = k; } //输出结果 cout << "(" << npc_pos[mindex].x << ","<<npc_pos[mindex].y << ")"<<endl; } catch(const exception& e) { cout << e.what() << endl; } return 0; }