题目链接:http://codeforces.com/contest/527/problem/B
代码:
#include<algorithm>
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
int p[28][28];
int n;
int num = 0;
string s, t;
int main()
{
while (cin >> n)
{
cin >> s >> t;
memset(p, 0, sizeof(p)); num = 0;
for (int i = 0; i < n; ++i)
{
if (s[i] != t[i])
{
p[s[i] - 'a'][t[i] - 'a'] = i + 1;
num++;
}
}
for (int i = 0; i < 26; ++i)
{
for (int j = 0; j < 26; ++j)
{
if (p[i][j] && p[j][i])
{
cout << (num - 2) << endl;
cout << p[i][j] << " " << p[j][i] << endl;
return 0;
}
}
}
for (int i = 0; i < 26; ++i)
{
for (int j = 0; j < 26; ++j)
{
if (p[i][j])
{
for (int k = 0; k < 26; ++k)
{
if (p[k][i])
{
cout << (num - 1) << endl;
cout << p[i][j] << " " << p[k][i] << endl;
return 0;
}
}
}
}
}
cout << num << endl;
cout << "-1 -1" << endl;
}
return 0;
}