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:这段代码铁定超了....应该是先算出每个有多少个,保起起来,用起来查表就行了..In Reply To:难道是所有的TEST CASE算1000MS,我的对于单独的我都测了,貌似不会超时。 Posted by:yogafrank at 2008-08-27 22:43:49 > 除非是所有的TEST CASE算一次时间。。。 > 用的是暴力。。。 > > #include <iostream> > using namespace std; > > int ways; > > void process ( int v ) > { > int i, j, m, n, a, b, c, d; > > for ( i = 0, a = i * i; i <= 512; i++, a = i * i ) > { > if ( a > v ) > break; > > for ( j = i, b = j * j; j <= 512; j++, b = j * j ) > { > if ( a + b > v ) > break; > > for ( m = j, c = m * m; m <= 512; m++, c = m * m ) > { > if ( a + b + c > v ) > break; > > for ( n = m, d = n * n; n <= 512; n++, d = n * n ) > { > if ( a + b + c + d > v ) > break; > if ( a + b + c + d == v ) > ways++; > } > } > } > } > } > > int main () > { > int n; > > while ( cin >> n ) > { > if ( n == 0 ) > break; > > ways = 0; > process ( n ); > cout << ways << 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