Thứ Ba, 8 tháng 1, 2019

UVa 11687 - Digits (simulation; straightforward)

Link:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=78&page=show_problem&problem=2734
Sol:
#include <cstdio>
#include <cstring>
int recurse(int length, int count)
{
if (length == 1)
return count + 1;
int newLength(0), oldLength(length);
for (; length; length /= 10, ++newLength);
return recurse(newLength, count + 1);
}
int main()
{
char input[1000010];
while (scanf("%s", input), input[0] != 'E')
{
if (strlen(input) == 1 && input[0] == '1')
printf("1\n");
else
printf("%d\n", recurse(strlen(input), 1));
}
}

Không có nhận xét nào:

Đăng nhận xét

Bài G - Educatioal Round 62

Đề bài: Bạn được cho 1 đồ thị vô hướng đặc biệt. Nó bao gồm $2n$ đỉnh được đánh số từ 1 đến 2n. Dưới đây là một số đặc tính của đồ thị: + ...