本文主要是介绍搜狐畅游2018年9月15日校招真题(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
通过该道题目:
题目描述如下:
示例代码:
#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;
}
这篇关于搜狐畅游2018年9月15日校招真题(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!