結果
問題 |
No.314 ケンケンパ
|
ユーザー |
![]() |
提出日時 | 2023-06-12 13:06:49 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,117 bytes |
コンパイル時間 | 195 ms |
コンパイル使用メモリ | 32,000 KB |
実行使用メモリ | 6,912 KB |
最終ジャッジ日時 | 2024-06-11 15:26:51 |
合計ジャッジ時間 | 965 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 5 WA * 12 |
ソースコード
#include <stdio.h> #include <malloc.h> #include <stdint.h> int ptns = 0; int n; /// <summary> /// 入力された数字を返す /// </summary> /// <returns></returns> int ReadNum() { int negate = 0; char c = getchar(); int num = 0; int numCnt = 0; while (c != '\n') { if (c == '-') { negate = 1; } else { num = num * 10 + c - '0'; } c = getchar(); } if (negate == 1) { num *= -1; } return num; } void reflex(int* nums,int cnt) { if (cnt < n) { for (int i = 0;i < 2;i++) { nums[cnt] = i; reflex(nums,cnt+1); } } if (cnt == n) { int ken = 0; for (int i = 0;i < n;i++) { if (nums[i] == 0) { ken++; if (ken == 3) return; } if (nums[i] == 1) { ken = 0; if (i == 0) return; if (nums[i - 1] == 1) return; } } for (int i = 0;i < n;i++) printf("%d", nums[i]); printf("\n"); ptns++; } } int main() { n = ReadNum(); unsigned int* nums; nums = (unsigned int*)malloc(sizeof(unsigned int) * n); nums[0] = 1; nums[1] = 2; nums[2] = 2; for (int i = 3;i < n;i++) { nums[i] = nums[i - 3] + nums[i - 2]; } printf("%d\n",nums[n-1]); }