結果

問題 No.3723 Climb or Detour
コンテスト
ユーザー karinohito
提出日時 2026-09-19 13:30:43
言語 C++23
(gcc 15.3.0 + boost 1.92.0 + ACL)
コンパイル:
g++-15 -O2 -lm -std=c++23 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 930 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,025 ms
コンパイル使用メモリ 340,472 KB
実行使用メモリ 10,052 KB
最終ジャッジ日時 2026-09-19 13:32:31
合計ジャッジ時間 7,055 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge4_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 46 WA * 12
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include<bits/stdc++.h>
using namespace std;
using ll=long long;


int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    ll N,K;
    cin>>N>>K;
    ll SY,SX,GY,GX;
    cin>>SY>>SX>>GY>>GX;
    SY--;SX--;GY--;GX--;
    bool ys=0,xs=0;
    if(SY>GY){
        SY=N-SY-1;
        GY=N-GY-1;
        ys=1;
    }
    if(SX>GX){
        SX=N-SX-1;
        GX=N-GX-1;
        xs=1;
    }
    ll d=(GX-SX)+(GY-SY);
    if(K<d||d>2*K){
        cout<<-1<<"\n";
    }
    ll e=K-d;
    vector<string> S(N,string(N,'.'));
    for(int i=0;i<N;i++){
        for(int j=0;j<N;j++){
            ll r=abs(SY-i)+abs(SX-j);
            r=min(r,e);
            if(r%2==1)S[i][j]='#';
        }
    }
    if(S[GY][GX]=='#'){
        cout<<-1<<"\n";
        return 0;
    }
    if(ys)reverse(S.begin(),S.end());
    if(xs){
        for(int i=0;i<N;i++)reverse(S[i].begin(),S[i].end());
    }
    for(int i=0;i<N;i++)cout<<S[i]<<"\n";
}
0