deque < node > pq;
cost[ 0 ] [ 0 ] = 0 ;
pq.push_front ( node( 0 , 0 , 0 ) ) ;
while ( ! pq.empty ( ) )
{
node tp = pq.front ( ) ;
pq.pop_front ( ) ;
int x = tp.x ;
int y = tp.y ;
int z = tp.z ;
for ( int i = 0 ; i < 4 ; i++ )
{
int xx = x + dx[ i] ;
int yy = y + dy[ i] ;
if ( valid( xx, yy ) )
{
if ( s[ x] [ y] == s[ xx] [ yy] )
{
if ( cost[ x] [ y] < cost[ xx] [ yy] )
{
cost[ xx] [ yy] = cost[ x] [ y] ;
pq.push_front ( node( xx, yy, 0 ) ) ;
}
}
else
{
if ( cost[ x] [ y] + 1 < cost[ xx] [ yy] )
{
cost[ xx] [ yy] = cost[ x] [ y] + 1 ;
pq.push_back ( node( xx, yy, 1 ) ) ;
}
}
}
}
}
ZGVxdWUgPCBub2RlID4gcHE7CiAgICBjb3N0WzBdWzBdID0gMDsKICAgIHBxLnB1c2hfZnJvbnQoIG5vZGUoMCwgMCAsIDAgICkpOwogICAgd2hpbGUoICFwcS5lbXB0eSgpICkKICAgIHsKICAgICAgICBub2RlIHRwID0gcHEuZnJvbnQoKTsKICAgICAgICBwcS5wb3BfZnJvbnQoKTsKICAgICAgICBpbnQgeCA9IHRwLng7CiAgICAgICAgaW50IHkgPXRwLnk7CiAgICAgICAgaW50IHogPSB0cC56OwogICAgICAgIGZvciggaW50IGkgPSAwOyBpIDwgNDsgaSsrICkKICAgICAgICB7CiAgICAgICAgICAgIGludCB4eCA9IHggKyBkeFtpXTsKICAgICAgICAgICAgaW50IHl5ID0geSArIGR5W2ldOwogICAgICAgICAgICBpZiggdmFsaWQoIHh4LCB5eSApICkKICAgICAgICAgICAgewogCiAgICAgICAgICAgICAgICBpZiggc1t4XVt5XSA9PSBzW3h4XVt5eV0gKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBpZiggY29zdFt4XVt5XSAgICA8IGNvc3RbeHhdW3l5XSAgKQogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjb3N0W3h4XVt5eV0gPSBjb3N0W3hdW3ldOwogICAgICAgICAgICAgICAgICAgICAgICAgcHEucHVzaF9mcm9udCggbm9kZSh4eCwgeXksIDAgKSk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKCBjb3N0W3hdW3ldICsgMSAgIDwgY29zdFt4eF1beXldICApCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3RbeHhdW3l5XSA9IGNvc3RbeF1beV0gKzE7CiAgICAgICAgICAgICAgICAgICAgICAgICBwcS5wdXNoX2JhY2soIG5vZGUoeHgsIHl5LCAxICkgKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9
compilation info
prog.cpp:1:1: error: 'deque' does not name a type
deque < node > pq;
^
prog.cpp:2:5: error: 'cost' does not name a type
cost[0][0] = 0;
^
prog.cpp:3:5: error: 'pq' does not name a type
pq.push_front( node(0, 0 , 0 ));
^
prog.cpp:4:5: error: expected unqualified-id before 'while'
while( !pq.empty() )
^
stdout