SRM487 Div2 Hard(900) BunnyConverter
逆から辿ればxが一意に定まる。900にしても簡単では?
class BunnyConverter{public: int getMinimum( int n, int z, int start, int goal ) { int z3 = (long long)z * z % n * z % n; long long t = goal; for ( int i=0; i<n; i++ ) { if ( t == start ) return i; t = ( 2*n - t*t%n - z3 - 1 ) % n + 1; } return -1; }};