結果

問題 No.509 塗りつぶしツール
ユーザー YukiDarumaYukiDaruma
提出日時 2017-04-28 23:35:34
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 852 bytes
コンパイル時間 1,514 ms
コンパイル使用メモリ 166,764 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-13 18:39:35
合計ジャッジ時間 2,459 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;


int A( const char *lpNum )
{
int i;
int iCount;
char C;
int iArr[] = { 1, 0, 0, 0, 1, 0, 1, 0, 2, 1 };

	// チェック
	i = 0;
	iCount = 1;
	C = lpNum[ i ];
	while( C != '\0' )
	{
		iCount += 2;
		iCount += iArr[ C - '0' ];

		i++;
		C = lpNum[ i ];
	}

	return iCount;
}

int B( const char *lpNum )
{
int i;
int iCount;
char C;
int iArr[] = { 1, 0, 0, 0, 1, 0, 1, 0, 2, 1 };

	// チェック
	i = 0;
	iCount = 2;
	C = lpNum[ i ];
	while( C != '\0' )
	{
		iCount += 1;
		iCount += 2 * iArr[ C - '0' ];

		i++;
		C = lpNum[ i ];
	}

	return iCount;
}


int main( int argc, char *argv[] )
{
int iA;
int iB;
char lpNum[ 100 ];

	// 入力
	cin >> lpNum;

	// チェック
	iA = A( lpNum );
	iB = B( lpNum );

	// 出力
	if( iA < iB )
		cout << iA << endl;
	else
		cout << iB << endl;

	return 0;
}




0