結果
問題 | No.63 ポッキーゲーム |
ユーザー |
![]() |
提出日時 | 2023-05-29 13:47:29 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 204 ms / 5,000 ms |
コード長 | 1,139 bytes |
コンパイル時間 | 349 ms |
コンパイル使用メモリ | 29,568 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-28 09:50:29 |
合計ジャッジ時間 | 1,725 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 |
ソースコード
#include <stdio.h>#include <malloc.h>char str[60000];int str_len = 0;/// <summary>/// グローバル変数strの中身を入力された文字列で上書きする/// </summary>void ReadString() {char c = getchar();str_len = 0;while (c != '\n') {str[str_len] = c;c = getchar();str_len++;}}/// <summary>/// ReadStringの文字列のうち、スペースで区切られた左側か右側を取得する/// </summary>/// <param name="leftIs">左が欲しければtrue,右ならfalse</param>/// <returns>引数に対応した側の数字を返す</returns>int GetLR(int leftIs) {int cnt = 0;int num = 0;int left = 0;int right = 0;while (1) {if (cnt >= str_len) {right = num;break;}if (str[cnt] == ' ') {left = num;num = 0;cnt++;continue;}num = num * 10 + (str[cnt] - '0');cnt++;}if (leftIs) {return left;}else {return right;}}int main(){ReadString();int length = GetLR(1);int pase = GetLR(0);int ans = 0;while (1) {if (length-pase*2<=0) {break;}length -= pase * 2;ans++;}ans *= pase;printf("%d\n",ans);}