From 94f49ef11037832a173d268ca932fe34cf78b472 Mon Sep 17 00:00:00 2001 From: Raphael McSinyx Date: Wed, 9 Nov 2016 11:02:27 +0700 Subject: Thêm kì thi thử Duyên Hải MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- others/coastline/dig.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 others/coastline/dig.c (limited to 'others/coastline/dig.c') diff --git a/others/coastline/dig.c b/others/coastline/dig.c new file mode 100644 index 0000000..8770a6b --- /dev/null +++ b/others/coastline/dig.c @@ -0,0 +1,49 @@ +#include +#include + +int main() +{ + char k, n[21], digits[10] = {}, i, avail = 0, j; + + scanf("%hhd %s", &k, n); + + for (i = 0; i < strlen(n); i++) + digits[n[i] - 48] = 1; + + for (i = 0; i < 10; i++) + if (!digits[i]) + avail++; + + if (avail == 1 && !digits[0] || !avail || avail > k) { + putchar(48); + } else { + if (!digits[0]) + for (i = 1; i < 10; i++) + if (!digits[i]) { + putchar(i + 48); + digits[i] = 1; + avail--; + k--; + break; + } + + for (i = 0; i < 10 && k; i++) + if (!digits[i]) { + for (j = 0; j <= k - avail; j++) + putchar(i + 48); + k = avail - 1; + digits[i] = 1; + break; + } + + for (i = 0; i < 10 && k; i++) + if (!digits[i]) { + putchar(i + 48); + k--; + } + } + + putchar(10); + + return 0; +} -- cgit 1.4.1