結果

問題 No.3723 Climb or Detour
コンテスト
ユーザー suamax
提出日時 2026-09-19 16:22:02
言語 C
(gcc 15.3.0)
コンパイル:
gcc-15 -O2 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 7 ms / 2,000 ms
+ 129µs
コード長 969 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 174 ms
コンパイル使用メモリ 42,056 KB
実行使用メモリ 10,036 KB
最終ジャッジ日時 2026-09-19 16:22:24
合計ジャッジ時間 4,500 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 58
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include<stdio.h>
#include<math.h>
#include <stdlib.h>

int main()
{
    int n=0;
    int k=0;
    int sr,sc,tr,tc;
    int diff;
    
    scanf("%d %d",&n,&k);
    scanf("%d %d",&sr,&sc);
    scanf("%d %d",&tr,&tc);

    int len = abs(tr-sr)+abs(sc-tc);
     diff = k - len;
    if((len % 2) != (k % 2)){
      printf("-1");
    }else if((len*2 < k) || (len > k)){
      printf("-1");
    }else{
      for(int i=1;i<n+1;i++){
        for(int i2=1;i2<n+1;i2++){
          if((i<sr && i<tr) || (i>sr && i>tr) || (i2<sc && i2<tc) || (i2>sc && i2>tc)){
             if(((i+i2)%2 != (sr+sc)%2)){
              printf("#");
            }else{
              printf(".");
            }
           
          }else{
            if(((i+i2)%2 != (sr+sc)%2) && !(tr==i && tc==i2) && ((abs(i-sr)+abs(i2-sc))<diff)){
              printf("#");
            }else{
              printf(".");
            }
          }
        }
        printf("\n");
      }
    }
    
    return 0;
}
0