結果

問題 No.112 ややこしい鶴亀算
ユーザー mafuyu-aki
提出日時 2017-06-25 23:28:54
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 1 ms / 5,000 ms
コード長 1,197 bytes
コンパイル時間 168 ms
コンパイル使用メモリ 31,104 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-04 05:33:30
合計ジャッジ時間 900 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main(int, char**)’:
main.cpp:59:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   59 |         scanf("%d", &N);
      |         ~~~~~^~~~~~~~~~

ソースコード

diff #

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int GetStdin(char* pszStr, int lMaxLen)
{
	int lLen = 0;

	memset(pszStr, 0, lMaxLen);
	if (fgets(pszStr, lMaxLen, stdin))
	{
		lLen = strlen(pszStr);
		if (lLen >= 1)
		{
			if (pszStr[lLen - 1] == 0x0A)
			{
				pszStr[lLen - 1] = 0;
				lLen--;
			}
		}
	}

	return(lLen);
}

int split(char *pszStr, int lStrMax, const char *pszDelim, int *palOutList) {
	char *pszToken;
	int count = 0;
	char *pszNext_token = 0;
	int lLen = 0;
	int lNum = 0;

	memset(pszStr, 0, lStrMax);
	lLen = GetStdin(pszStr, lStrMax);

	if (lLen > 0)
	{

		pszToken = strtok(pszStr, pszDelim);

		while (pszToken != NULL)
		{
			*palOutList = atoi(pszToken);
			lNum++;
			//	        pszToken = strtok_s(NULL, pszDelim, &pszNext_token);
			pszToken = strtok(NULL, pszDelim);
			palOutList++;
		}
	}
	return lNum;
}



int main(int argc, char *argv[])
{
	int N = 0;
	scanf("%d", &N);

	char A[1024] = "";
	GetStdin(A, sizeof(A));

	int a[128] = { 0 };

	split(A, 1024, " ", a);

	int sum = 0;
	for (int i = 0; i < N; i++)
	{
		sum += a[i];
	}

	sum /= (N - 1);
	int K = sum / 2 - N;
	int T = N - K;


	printf("%d %d\n", T, K);


	return 0;

}

0