結果
問題 |
No.2402 Dirty Stairs and Shoes
|
ユーザー |
![]() |
提出日時 | 2023-08-04 22:43:05 |
言語 | C (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 6,770 bytes |
コンパイル時間 | 389 ms |
コンパイル使用メモリ | 30,336 KB |
実行使用メモリ | 15,304 KB |
最終ジャッジ日時 | 2024-12-20 02:44:18 |
合計ジャッジ時間 | 55,582 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 TLE * 18 |
ソースコード
#include <stdio.h> int N, K, M1, A[200001], M2, B[200001]; int ans(int n) { if (n == 1 || n == 0) { return 1; } int i, j, flag1 = 1, flag2 = 1; for (i = 1; i <= M2; i++) { if (B[i] == n - K || B[i] == n - 1) { return 1; } } for (i = 1; i <= M1; i++) { if (A[i] == n - K || n - K < 0) flag1 = 0; if (A[i] == n - 1) flag2 = 0; } if (flag1 == 1 && flag2 == 1) return ans(n - K) + ans(n - 1); else if (flag1 == 1) return ans(n - K); else if (flag2 == 1) return ans(n - 1); else return 0; } int main() { int i, sum = 0; scanf("%d %d", &N, &K); scanf("%d", &M1); for (i = 1; i <= M1; i++) scanf("%d", &A[i]); scanf("%d", &M2); for (i = 1; i <= M2; i++) scanf("%d", &B[i]); if (ans(N)) printf("Yes\n"); else printf("No\n"); return 0; }