Submission #306262


Source Code Expand

#define _USE_MATH_DEFINES
#define _CRT_SECURE_NO_DEPRECATE

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <climits>
#include <cfloat>
#include <ctime>
#include <cassert>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
#include <numeric>
#include <list>
#include <iomanip>
#include <fstream>
#include <iterator>
#include <bitset>

using namespace std;

typedef long long ll;
typedef pair<int, int> Pii;
typedef pair<ll, ll> Pll;

#define FOR(i,n) for(int i = 0; i < (n); i++)
#define sz(c) ((int)(c).size())
#define ten(x) ((int)1e##x)

template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; }
template<class T> T lcm(T a, T b) { return a / gcd(a, b) * b; }
typedef unsigned long long ull;

typedef pair<Pll, int> P;

int main(){
	int n; cin >> n;
	vector<P> vp;
	FOR(i, n) {
		Pll p; cin >> p.first >> p.second;
		vp.emplace_back(p,i+1);
	}
	map<Pll,int> st;
	FOR(i, n) st[vp[i].first] = vp[i].second;

	vector<int> anses;
	FOR(i, sz(vp)) {
		for (int j = i + 1; j < sz(vp); j++) {
			Pll& p = vp[i].first;
			Pll& q = vp[j].first;
			ll xdiff = p.first - q.first;
			ll ydiff = p.second - q.second;

			Pll r(p.first - ydiff, p.second + xdiff);
			Pll s(q.first - ydiff, q.second + xdiff);

			if (st.count(r) && st.count(s)) {
				anses.push_back(st[p]);
				anses.push_back(st[q]);
				anses.push_back(st[r]);
				anses.push_back(st[s]);
			}
			if (sz(anses)) break;
		}
		if (sz(anses)) break;
	}

	cout << sz(anses) << endl;
	sort(anses.begin(), anses.end());
	for (auto i : anses) cout << i << endl;

}

Submission Info

Submission Time
Task C - Regular Polygon
User math
Language C++11 (GCC 4.8.1)
Score 100
Code Size 1829 Byte
Status AC
Exec Time 64 ms
Memory 928 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 20
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt, subtask1_random05.txt, subtask1_random06.txt, subtask1_random07.txt, subtask1_random08.txt, subtask1_special01.txt, subtask1_special02.txt, subtask1_special03.txt, subtask1_special04.txt, subtask1_special05.txt, subtask1_special06.txt, subtask1_special07.txt, subtask1_special08.txt, subtask1_special09.txt, subtask1_special10.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 22 ms 800 KB
subtask0_sample_02.txt AC 24 ms 800 KB
subtask1_random01.txt AC 60 ms 924 KB
subtask1_random02.txt AC 64 ms 928 KB
subtask1_random03.txt AC 60 ms 804 KB
subtask1_random04.txt AC 64 ms 808 KB
subtask1_random05.txt AC 25 ms 924 KB
subtask1_random06.txt AC 29 ms 928 KB
subtask1_random07.txt AC 62 ms 928 KB
subtask1_random08.txt AC 61 ms 808 KB
subtask1_special01.txt AC 24 ms 920 KB
subtask1_special02.txt AC 24 ms 808 KB
subtask1_special03.txt AC 22 ms 672 KB
subtask1_special04.txt AC 22 ms 920 KB
subtask1_special05.txt AC 61 ms 812 KB
subtask1_special06.txt AC 33 ms 928 KB
subtask1_special07.txt AC 29 ms 804 KB
subtask1_special08.txt AC 33 ms 924 KB
subtask1_special09.txt AC 37 ms 812 KB
subtask1_special10.txt AC 23 ms 920 KB