| ||||||||||
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 |
高手看看为什么总是Time Limit Exceeded?#include <iostream> using namespace std; bool legal(int m, int k) { int i, a = 0; bool legal1 = true; for (i = 1; i <= k; i++) { int temp = (a + m - 1) % (2 * k + 1 - i); if (temp < k || temp > 2 * k - i){ legal1 = false; break; } a = temp; } return legal1; } int main(int argc, char* argv[]) { int k; while (cin >> k) { if(k == 0) return 0; int m1, m2; for(m1 = 0, m2 = 1 ; !legal(m1, k) && !legal(m2, k); m1 += (k+1), m2 += (k+1)); { if(legal(m1, k)) cout << m1 << endl; else if(legal(m2, k)) cout << m2 << endl; } } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator