超时,得了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;
}