Submission #305646


Source Code Expand

#include <cstdio>

bool up[10];
char format[100];

int number = 0;

void solve(int a)
{
	if (a == 0)
	{
		printf(format, number);
		return;
	}

	int k = 1;
	for (int i = 1; i < a; i++)
	{
		k *= 10;
	}

	if (up[a])
	{
		solve(a - 1);
		for (int i = 0; i <= 8; i++)
		{
			number += k;
			solve(a - 1);
		}
	}
	else
	{
		solve(a - 1);
		for (int i = 8; i >= 0; i--)
		{
			number -= k;
			solve(a - 1);
		}
	}
	up[a] = !up[a];
}

int main()
{
	int n;
	scanf("%d", &n);

	for (int i = 0; i < 10; i++)
	{
		up[i] = true;
	}

	sprintf(format, "%%0%dd\n", n);

	for (int i = 0; i < n; i++)
	{
		printf("9");
	}
	printf("\n");
//	printf(format, 0);
	solve(n);




	return 0;
}

Submission Info

Submission Time
Task A - Lock
User asian-2014-3577
Language C++ (G++ 4.6.4)
Score 100
Code Size 736 Byte
Status AC
Exec Time 74 ms
Memory 796 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:46:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 5
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 20 ms 796 KB
subtask0_sample_02.txt AC 21 ms 704 KB
subtask1_01.txt AC 24 ms 704 KB
subtask1_02.txt AC 25 ms 796 KB
subtask1_03.txt AC 74 ms 688 KB