Submission #573535
Source Code Expand
#include<bits/stdc++.h>
#include<tr1/unordered_map>
using namespace std;
#define mp make_pair
#define f first
#define s second
typedef long long ll;
map <pair<ll, ll>, short> m;
int n;
int ans[4];
pair<ll, ll> p[1111];
int main()
{
cin >> n;
for(int i = 1; i <= n; i++)
{
scanf("%lld%lld", &p[i].f, &p[i].s);
m[p[i]] = i;
}
int flag = 0;
for(int i = 1; i <= n; i++)
{
for(int j = i + 1; j <= n; j++)
{
pair<ll, ll> vec1 = mp(p[j].f - p[i].f, p[j].s - p[i].s), vec2 = mp(p[i].f - p[j].f, p[i].s - p[j].s);
pair<ll, ll> t1 = mp(p[i].f - vec1.s, p[i].s + vec1.f), t2 = mp(p[j].f + vec2.s, p[j].s - vec2.f);
int q1 = m[t1], q2 = m[t2];
if(q1 && q2)
{
ans[0] = q1;
ans[1] = q2;
ans[2] = i, ans[3] = j;
sort(ans, ans + 4);
printf("4\n");
for(int k = 0; k < 4; k++) printf("%d\n", ans[k]);
flag = 1;
}
if(flag) break;
pair<ll, ll> t3 = mp(p[j].f - vec1.s, p[j].s + vec1.f) , t4 = mp(p[i].f + vec2.s, p[i].s - vec2.f);
int q3 = m[t3], q4 = m[t4];
if(q3 && q4)
{
ans[0] = q3;
ans[1] = q4;
ans[2] = i, ans[3] = j;
sort(ans, ans + 4);
printf("4\n");
for(int k = 0; k < 4; k++) printf("%d\n", ans[k]);
flag = 1;
}
if(flag) break;
}
if(flag) break;
}
if(!flag) puts("0");
return 0;
}
Submission Info
Submission Time
2015-11-18 22:39:05+0900
Task
C - Regular Polygon
User
gorodan
Language
C++ (G++ 4.6.4)
Score
100
Code Size
1470 Byte
Status
AC
Exec Time
1339 ms
Memory
63268 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:20:40: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
100 / 100
Status
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
23 ms
800 KB
subtask0_sample_02.txt
AC
23 ms
924 KB
subtask1_random01.txt
AC
1301 ms
63140 KB
subtask1_random02.txt
AC
1333 ms
63268 KB
subtask1_random03.txt
AC
1248 ms
61976 KB
subtask1_random04.txt
AC
1297 ms
61988 KB
subtask1_random05.txt
AC
56 ms
3496 KB
subtask1_random06.txt
AC
94 ms
6028 KB
subtask1_random07.txt
AC
1339 ms
62248 KB
subtask1_random08.txt
AC
1327 ms
62376 KB
subtask1_special01.txt
AC
24 ms
928 KB
subtask1_special02.txt
AC
24 ms
920 KB
subtask1_special03.txt
AC
24 ms
920 KB
subtask1_special04.txt
AC
24 ms
924 KB
subtask1_special05.txt
AC
709 ms
47652 KB
subtask1_special06.txt
AC
127 ms
10404 KB
subtask1_special07.txt
AC
120 ms
9248 KB
subtask1_special08.txt
AC
156 ms
12576 KB
subtask1_special09.txt
AC
633 ms
47400 KB
subtask1_special10.txt
AC
25 ms
924 KB