結果

問題 No.5009 Draw A Convex Polygon
ユーザー chro_96chro_96
提出日時 2022-12-02 00:20:12
言語 C
(gcc 12.3.0)
結果
WA  
実行時間 -
コード長 1,114 bytes
コンパイル時間 110 ms
実行使用メモリ 22,876 KB
スコア 0
平均クエリ数 252962.00
最終ジャッジ日時 2022-12-02 00:20:13
合計ジャッジ時間 1,230 ms
ジャッジサーバーID
(参考情報)
judge13 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

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

ソースコード

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+1);
  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);
  }
  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