201712-2

超时,得了90分。

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

int islast(int a[], int n, int *result)
{
    int sum = 0;
    for (int i = 1; i <= n; i++)
    {
        if (a[i] != 0)
        {
            sum++;
            (*result) = i;
        }
    }
    return sum;
}

int main()
{
    int n, k;
    scanf("%d%d", &n, &k);
    if (n == 1)
    {
        printf("1\n");
        return 0;
    }
    int num[1002];
    int number = 1;
    for (int i = 1; i <= n; i++)
    {
        num[i] = number++;
        if ((num[i] % k == 0) || (num[i] % 10 == k))
        {
            num[i] = 0;
        }

    }
    int result = 0;

    while (1)
    {
        for (int i = 1; i <= n; i++)
        {
            if (islast(num, n, &result) == 1)
            {
                printf("%d\n", result);
                return 0;
            }
            if (num[i] == 0)
            {
                continue;
            }
            else
            {
                num[i] = (number++);
            }
            if ((num[i] % k == 0) || (num[i] % 10 == k))
            {
                num[i] = 0;
            }
        }
    }

    return 0;
}


猜你喜欢

转载自blog.csdn.net/zhang_han666/article/details/79525960