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
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
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 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