//各数字の個数が同じなのに一致しない場合…2つ以上間違っている場合に限る //1つだけ間違っている場合は、ある数字Aが1つ多く, ある数字Bが1つ少ない //各数字の個数のdiffを取って、AをBに変えればよいはず。 //数字の位置までは考えなくてよいので、これだけでいける。 // #include #include using namespace std; string s; int diff[10] = {20104, 20063, 19892, 20011, 19874, 20199, 19898, 20163, 19956, 19841}; int main() { cin >> s; for( int i = 0; i < s.length(); i++ ){ if( i == 1 ) continue; diff[s[i] - '0']--; } int a, b; for( int i = 0; i < 10; i++ ){ if( diff[i] == -1 ) a = i; if( diff[i] == 1 ) b = i; } cout << a << " " << b << endl; return 0; }