| ||||||||||
| 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 | |||||||||
不知道哪里错了,就是过不了#include "iostream.h"
char t [ 6 ] = { 0 } ;
int sl = 3 ;
int mark = 0 ;
int last [ 1000 ] = { 0 } ;
//int result = 0 ;
char unit [ 26 ] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' ,
'h' , 'i' , 'j' , 'k' , 'l' , 'm' , 'n' ,
'o' , 'p' , 'q' , 'r' , 's' , 't' , 'u' ,
'v' , 'w' , 'x' , 'y' , 'z' } ;
int count ( char * s , int l , int n , int result = 0 )
{
// if ( 2 < n )
// return 0 ;
if ( n > l )
return 0 ;
if ( n == 1 )
{
if ( mark == sl - 1 )
{ mark = 0 ;
return ( t [ sl - 1 ] - s [ 0 ] + 1 ) ;
}
else
{ mark = 0 ;
return l ;
}
}
int i = 0 ;
int r = 0 ;
for ( i = 0 ; i < l - n + 1 ; i ++ )
{
if ( t [ sl - n ] + 1 == s [ i ] )
break ;
if ( t [ sl - n ] == s [ i ] )
mark ++ ;
r = count ( &s [ i + 1 ] , l - i - 1 , n - 1 ) ;
result = result + r ;
}
return result ;
}
int main(int argc, char* argv[])
{
int temp [ 5 ] = { 0 , 26 , 351 , 2951 , 14950 + 2951 } ;
int j = 0 ;
while ( cin >> t )
{
for ( sl = 0 ; sl < 5 ; sl ++ )
{
if ( t [ sl ] == 0 ) break ;
if ( t [ sl ] == 0 ) continue ;
if ( t [ sl - 1 ] >= t [ sl ] || ( t [ sl ] > 'z' || t [ sl ] < 'a' )
|| t [ 5 ] != 0 )
{ mark = 1 ; t [ 5 ] = 0 ; break ; }
}
if ( mark == 1 )
{ last [ j ] = 0 ; j ++ ; mark = 0 ; continue ; }
// cout << t << endl ;
// cout << sl << endl ;
last [ j ] = temp [ sl - 1 ] + count ( unit , 26 , sl ) ;
j ++ ;
}
for ( sl = 0 ; sl < j ; sl ++ )
cout << last [ sl ] << 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