結果

問題 No.5009 Draw A Convex Polygon
ユーザー 👑 chro_96chro_96
提出日時 2022-12-02 00:25:21
言語 C
(gcc 12.3.0)
結果
AC  
実行時間 206 ms / 2,600 ms
コード長 1,087 bytes
コンパイル時間 148 ms
実行使用メモリ 21,880 KB
スコア 252,960
平均クエリ数 252961.00
最終ジャッジ日時 2022-12-02 00:25:23
合計ジャッジ時間 1,441 ms
ジャッジサーバーID
(参考情報)
judge14 / judge13
純コード判定しない問題か言語
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 206 ms
21,880 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdio.h>

int main () {
  int n[2] = { 0, 1000001 };
  
  int x = 1000000000;
  int y = 0;
  
  while (n[1] - n[0] > 1) {
    long long nxt = (long long) ((n[0]+n[1])/2);
    if ((nxt*(nxt+3LL))-2LL <= 1000000000LL) {
      n[0] = (int) nxt;
    } else {
      n[1] = (int) nxt;
    }
  }
  
  printf("%d\n", n[0]*8-8);
  for (int i = n[0]; i > 1; i--) {
    x -= 1;
    y += i;
    printf("%d %d\n", x, y);
  }
  for (int i = 2; i <= n[0]; i++) {
    x -= i;
    y += 1;
    printf("%d %d\n", x, y);
  }
  for (int i = n[0]; i > 1; i--) {
    x -= i;
    y -= 1;
    printf("%d %d\n", x, y);
  }
  for (int i = 2; i <= n[0]; i++) {
    x -= 1;
    y -= i;
    printf("%d %d\n", x, y);
  }
  for (int i = n[0]; i > 1; i--) {
    x += 1;
    y -= i;
    printf("%d %d\n", x, y);
  }
  for (int i = 2; i <= n[0]; i++) {
    x += i;
    y -= 1;
    printf("%d %d\n", x, y);
  }
  for (int i = n[0]; i > 1; i--) {
    x += i;
    y += 1;
    printf("%d %d\n", x, y);
  }
  for (int i = 2; i <= n[0]; i++) {
    x += 1;
    y += i;
    printf("%d %d\n", x, y);
  }
  
  return 0;
}
0