[伯俊/BOJ]13019AからB[Silver 2]

1208 ワード

  • AからB
  • 質問元:https://www.acmicpc.net/problem/13019
    文字列の後ろから回転し、他にあればタイミングをあげます.
    AをBに変換することはできません.これはAの要素とBの要素とは異なります.
    私はAとBをそれぞれ並べ替え、文字列を比較することでフィルタリングします.
    出力結果は文字列を比較し、同じ場合はカウントを出力し、異なる場合は-1を出力します.
    code
    #include <iostream>
    #include <string>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
    	string A, B;
    	int cnt = 0, i, j;
    
    	cin >> A >> B;
    	j = A.length() - 1;
    	for (i = A.length()-1; i >=0; i--)
    	{
    		if (B[j] != A[i])
    			cnt++;
    		else
    			j--;
    	}
    
    	sort(A.begin(), A.end());
    	sort(B.begin(), B.end());
    
    	if (A.compare(B) == 0)
    		cout << cnt;
    	else
    		cout << -1;
    
    	return 0;
    }