Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std ;
- typedef long long ll ;
- const int MX = 500500 ;
- char input1[MX] , input2[MX] ;
- string a , b ;
- int l ;
- bool rev( int i )
- {
- return ( (a[l-1-i] == b[i]) && ( a[i] == b[l-i-1] ) ) ;
- }
- int main()
- {
- int t ;
- scanf("%d" , &t) ;
- while( t-- )
- {
- scanf("%s" , input1) ;
- a = (string)input1 ;
- scanf("%s" , input2) ;
- b = (string)input2 ;
- l = a.length() ;
- if( a.length() != b.length() )
- {
- printf("-1\n") ;
- continue ;
- }
- if( a[l/2] != b[l/2] || ( l == 1 && ( a != b ) ) ){
- printf("-1\n") ;
- continue ;
- }
- int pr = 0 , ans = 0 ;
- for( int i = 0 ; i < l / 2 ; ++i )
- {
- if( pr )
- swap( a[i] , a[l-1-i] ) ;
- if( (a[i] == b[i]) && (a[l-1-i] == b[l-1-i]) )continue ;
- else if( rev(i) )
- {
- ans++ ;
- pr = 1 - pr ;
- }
- else
- {
- ans = -1 ;
- break ;
- }
- }
- printf("%d\n",ans) ;
- }
- return 0 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment