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:一些数据 Posted by:SmilingWang at 2009-03-06 13:29:25 > adx > kmp > cgp > bpz > efs > eln > kuy > fns > fkq > imo > ceu > ajx > dkq > dho > hsz > cer > gio > hmy > fit > eiw > qtx > ehv > gsv > gvz > nux > alz > jrv > cir > > 418 > 2408 > 999 > 882 > 1424 > 1518 > 2485 > 1738 > 1697 > 2182 > 965 > 529 > 1297 > 1247 > 2114 > 962 > 1835 > 2056 > 1669 > 1482 > 2850 > 1464 > 1957 > 1976 > 2719 > 560 > 2359 > 1036 数据都通过了 还是WA...... #include <iostream> #include <cstring> using namespace std; __int64 Com ( unsigned n, unsigned m ) { m = m > n / 2 ? n - m : m; double result = 1.0; for ( int i = m; i >= 1; --i, --n ) result *= n * 1.0 / i; return (__int64)result; } __int64 Cal ( char c, int len ) { return Com ( 'z'-c, len ); } bool check ( string s ) { for ( int i = 1; i != s.size(); ++i ) if ( s[i] - s[i-1] <= 0 ) return 0; return 1; } int main() { string s; int len, pos; __int64 result; while ( cin >> s ){ if ( !check(s) ){ cout << 0 << endl; continue; } result = 0; len = s.size(); for ( int i = 1; i != len; ++i ) result += Com(26,i); for ( pos = 0; pos != len; ++pos ) for ( char i = !pos ? 'a'+pos : s[pos-1] + 1; i != s[pos]; ++i ) result += Cal(i,len-pos-1); cout << ++result << 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