| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:终于不打表AC,282ms,放出代码,求更快的解法……In Reply To:终于不打表AC,282ms,放出代码,求更快的解法…… Posted by:alexneko at 2008-07-12 16:14:45 #include <stdio.h>
#include <string.h>
int main()
{
int arr[14];
memset(arr,0,14*sizeof(int));
int n = 0;
int j = 0;
int i = 0;
int k = 0;
while(1)
{
scanf("%d",&k);
if(k == 0)
break;
if(arr[k] == 0)
{
for (int m = k+1; ;m++)
{
n = 2*k;
j = 0;
i = 0;
while(n > k)
{
i = (m%n == 0? n:m%n);
if((j < i) && (i <= k + j))
{
break;
}
else
{
j = (n - m%n + j)%n;
n--;
}
}
if (n == k)
{
arr[k] = m;
break;
}
}
}
printf("%d\n",arr[k]);
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator