Submission #573533


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>, int> 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 = 1; j <= n; j++)
    {
      if(i == j) continue;
      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
Task C - Regular Polygon
User gorodan
Language C++ (G++ 4.6.4)
Score 0
Code Size 1492 Byte
Status TLE
Exec Time 2051 ms
Memory 101484 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 0 / 100
Status
AC × 2
AC × 14
TLE × 6
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 26 ms 920 KB
subtask0_sample_02.txt AC 25 ms 872 KB
subtask1_random01.txt TLE 2049 ms 100200 KB
subtask1_random02.txt TLE 2049 ms 98672 KB
subtask1_random03.txt TLE 2048 ms 97988 KB
subtask1_random04.txt TLE 2048 ms 101484 KB
subtask1_random05.txt AC 59 ms 3556 KB
subtask1_random06.txt AC 99 ms 6236 KB
subtask1_random07.txt TLE 2051 ms 97000 KB
subtask1_random08.txt TLE 2048 ms 95988 KB
subtask1_special01.txt AC 26 ms 928 KB
subtask1_special02.txt AC 26 ms 912 KB
subtask1_special03.txt AC 25 ms 872 KB
subtask1_special04.txt AC 27 ms 872 KB
subtask1_special05.txt AC 1516 ms 94572 KB
subtask1_special06.txt AC 132 ms 10724 KB
subtask1_special07.txt AC 140 ms 10600 KB
subtask1_special08.txt AC 175 ms 13040 KB
subtask1_special09.txt AC 1469 ms 94064 KB
subtask1_special10.txt AC 27 ms 872 KB