Submission
Status:
------T----
Score: 0
User: KhunKK9722
Problemset: สุ่มเจาะ
Language: cpp
Time: 1.067 second
Submitted On: 2025-03-12 10:49:06
#include <stdio.h>
#include <string.h>
int pow(int p, int n)
{
if (n == 0)
return 1;
else
return p * pow(p, n - 1);
}
int d, b, num, count, tmp;
bool success = true;
int main()
{
scanf("%d %d", &d, &b);
char n[d];
int arr[d];
scanf("%s", n);
int len = strlen(n);
for (int i = 0; i < len; i++)
{
num += pow(b, len - i - 1) * (n[i] - 48);
}
for (int x = 0; x < pow(b, d); x++)
{
if (x <= num)
{
for (int i = 0; i < d; i++)
{
arr[i] = x / pow(10, d - i - 1) - x / pow(10, d - i) * 10;
printf("set arr[%d] to %d\n", i, x / pow(10, d - i - 1) - x / pow(10, d - i) * 10);
if (i - 1 < 0)
arr[i - 1] = 0;
if (arr[i - 1] > arr[i] || arr[i] > b)
{
success = false;
printf("FAIL\n\n");
}
}
if (success)
{
count++;
printf("%d is successful\ncount = %d\n\n", x, count);
}
else
success = true;
}
}
}