but i got a WA.
is there mistake in my code?
here my code.
Code: Select all
#include "stdio.h"
#include "memory.h"
#include "algorithm"
#include "math.h"
#define MAX 100001
using namespace std;
int main()
{
int poly[11];
int answer[MAX];
int size, loop, degree, cnt;
long long temp;
while(1)
{
scanf("%d %d", &size, &loop);
if(size == 0 && loop == 0)
break;
scanf("%d", °ree);
cnt = 1;
memset(answer, -1, sizeof(answer));
memset(poly, 0, sizeof(poly));
for(int i=0; i<=degree; i++)
scanf("%d", &poly[i]);
for(int i=0; i<=loop; i++)
{
answer[i] = poly[0];
temp = i;
for(int j=1; j<=degree; j++)
{
if(poly[j] != 0)
{
temp = pow((long double)i, j);
temp %= (size+1);
poly[j] %= (size+1);
answer[i] += poly[j] * temp;
if(answer[i] > size)
answer[i] %= size+1;
}
}
}
sort(answer, answer+loop+1);
for(int i=0; i<loop; i++)
{
if(answer[i] != answer[i+1])
cnt++;
}
printf("%d\n", cnt);
}
return 0;
}
help me plz.