$BEGINCUT$ $PROBLEMDESC$ $ENDCUT$ #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; vector split( const string& s, const string& delim =" " ) { vector res; string t; for ( int i = 0 ; i != s.size() ; i++ ) { if ( delim.find( s[i] ) != string::npos ) { if ( !t.empty() ) { res.push_back( t ); t = ""; } } else { t += s[i]; } } if ( !t.empty() ) { res.push_back(t); } return res; } vector splitInt( const string& s, const string& delim =" " ) { vector tok = split( s, delim ); vector res; for ( int i = 0 ; i != tok.size(); i++ ) res.push_back( atoi( tok[i].c_str() ) ); return res; } $BEGINCUT$ #define ARRSIZE(x) (sizeof(x)/sizeof(x[0])) template void print( T a ) { cerr << a; } static void print( long long a ) { cerr << a << "L"; } static void print( string a ) { cerr << '"' << a << '"'; } template void print( vector a ) { cerr << "{"; for ( int i = 0 ; i != a.size() ; i++ ) { if ( i != 0 ) cerr << ", "; print( a[i] ); } cerr << "}" << endl; } template void eq( int n, T have, T need ) { if ( have == need ) { cerr << "Case " << n << " passed." << endl; } else { cerr << "Case " << n << " failed: expected "; print( need ); cerr << " received "; print( have ); cerr << "." << endl; } } template void eq( int n, vector have, vector need ) { if( have.size() != need.size() ) { cerr << "Case " << n << " failed: returned " << have.size() << " elements; expected " << need.size() << " elements."; print( have ); print( need ); return; } for( int i= 0; i < have.size(); i++ ) { if( have[i] != need[i] ) { cerr << "Case " << n << " failed. Expected and returned array differ in position " << i << "."; print( have ); print( need ); return; } } cerr << "Case " << n << " passed." << endl; } static void eq( int n, string have, string need ) { if ( have == need ) { cerr << "Case " << n << " passed." << endl; } else { cerr << "Case " << n << " failed: expected "; print( need ); cerr << " received "; print( have ); cerr << "." << endl; } } $ENDCUT$ class $CLASSNAME$ { public: $RC$ $METHODNAME$($METHODPARMS$) { $RC$ res; return res; } $WRITERCODE$ }; $BEGINCUT$ void main( int argc, char* argv[] ) { $MAINBODY$ } $ENDCUT$