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