Skip to content

Instantly share code, notes, and snippets.

@EgZvor
Created October 2, 2015 20:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EgZvor/a10baf6c3d2304ed136a to your computer and use it in GitHub Desktop.
Save EgZvor/a10baf6c3d2304ed136a to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2\n",
"1 1\n",
"3 3\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x59df748>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2 2\n"
]
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import math\n",
"\n",
"\n",
"%matplotlib inline\n",
"\n",
"N = int(input())\n",
"x_list = []\n",
"y_list = []\n",
"for i in range(N):\n",
" x, y = map(int, input().split())\n",
" x_list.append(x)\n",
" y_list.append(y)\n",
"plt.scatter(x_list, y_list)\n",
"x_new = (max(x_list) + min(x_list))/2\n",
"y_new = (max(y_list) + min(y_list))/2\n",
"x_1 = math.floor(x_new)\n",
"x_2 = math.ceil(x_new)\n",
"y_1 = math.floor(y_new)\n",
"y_2 = math.ceil(y_new)\n",
"\n",
"x_final = 0\n",
"y_final = 0\n",
"\n",
"myMax = 0\n",
"myMinMax = float('inf')\n",
"for x_temp in [x_1, x_2]:\n",
" for y_temp in [y_1, y_2]:\n",
" for x_goal, y_goal in zip(x_list, y_list):\n",
" dist = abs(x_goal - x_temp) + abs(y_goal - y_temp)\n",
" if dist > myMax:\n",
" myMax = dist \n",
" if myMax < myMinMax:\n",
" myMinMax = myMax\n",
" x_final = x_temp\n",
" y_final = y_temp\n",
" myMax = 0\n",
" \n",
"plt.scatter(x_final, y_final, c = (1, 0, 0))\n",
"plt.show()\n",
"print(x_final, y_final)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment