結果
問題 | No.1948 足し算するだけのパズルゲーム(1) |
ユーザー |
![]() |
提出日時 | 2022-05-20 22:35:06 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 41 ms / 2,000 ms |
コード長 | 765 bytes |
コンパイル時間 | 1,154 ms |
コンパイル使用メモリ | 30,080 KB |
実行使用メモリ | 7,680 KB |
最終ジャッジ日時 | 2024-09-20 08:51:07 |
合計ジャッジ時間 | 2,963 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
コンパイルメッセージ
main.c: In function 'main': main.c:5:9: warning: implicit declaration of function 'scanf' [-Wimplicit-function-declaration] 5 | scanf("%ld%ld",&h,&w); | ^~~~~ main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf' +++ |+#include <stdio.h> 1 | long d[2][500][500]; main.c:5:9: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch] 5 | scanf("%ld%ld",&h,&w); | ^~~~~ main.c:5:9: note: include '<stdio.h>' or provide a declaration of 'scanf' main.c:34:9: warning: implicit declaration of function 'puts' [-Wimplicit-function-declaration] 34 | puts(d[0][h-1][w-1]|d[1][h-1][w-1]>a[h-1][w-1]?"Yes":"No"); | ^~~~ main.c:34:9: note: include '<stdio.h>' or provide a declaration of 'puts'
ソースコード
long d[2][500][500]; long a[500][500]; int main(){ long h,w; scanf("%ld%ld",&h,&w); for(long y=0;y<h;++y){ for(long x=0;x<w;++x){ scanf("%ld",&a[y][x]); } } d[0][0][0]=a[0][0]; for(long f=0;f<2;++f){ for(long y=0;y<h;++y){ for(long x=0;x<w;++x){ if(y<h-1){ if(d[f][y][x]>a[y+1][x]&&d[f][y+1][x]<d[f][y][x]+a[y+1][x]){ d[f][y+1][x]=d[f][y][x]+a[y+1][x]; } if(f==0&&d[1][y+1][x]<d[0][y][x]){ d[1][y+1][x]=d[0][y][x]; } } if(x<w-1){ if(d[f][y][x]>a[y][x+1]&&d[f][y][x+1]<d[f][y][x]+a[y][x+1]){ d[f][y][x+1]=d[f][y][x]+a[y][x+1]; } if(f==0&&d[1][y][x+1]<d[0][y][x]){ d[1][y][x+1]=d[0][y][x]; } } } } } puts(d[0][h-1][w-1]|d[1][h-1][w-1]>a[h-1][w-1]?"Yes":"No"); }