本文共 1205 字,大约阅读时间需要 4 分钟。
1 /* 2 无算法 3 三种可能:1.交换一对后正好都相同,此时-2 4 2.上面的情况不可能,交换一对后只有一个相同,此时-1 5 3.以上都不符合,则不交换,-1 -1 6 7 */ 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 using namespace std; 19 20 const int MAXN = 2e5 + 10; 21 const int INF = 0x3f3f3f3f; 22 23 char s[MAXN], t[MAXN]; 24 int p[30][30]; 25 26 bool check1(int cnt) 27 { 28 for (int i=0; i<26; ++i) 29 { 30 for (int j=0; j<26; ++j) 31 { 32 if (p[i][j] && p[j][i]) 33 { 34 printf ("%d\n", cnt-2); 35 printf ("%d %d\n", p[i][j], p[j][i]); 36 return true; 37 } 38 } 39 } 40 41 return false; 42 } 43 44 bool check2(int cnt) 45 { 46 for (int i=0; i<26; ++i) 47 { 48 for (int j=0; j<26; ++j) 49 { 50 if (p[i][j]) 51 { 52 for (int k=0; k<26; ++k) 53 { 54 if (p[k][i]) 55 { 56 printf ("%d\n", cnt-1); 57 printf ("%d %d\n", p[i][j], p[k][i]); 58 return true; 59 } 60 } 61 } 62 } 63 } 64 65 return false; 66 } 67 68 void work(int n) 69 { 70 int cnt = 0; 71 for (int i=0; i
转载于:https://www.cnblogs.com/Running-Time/p/4366802.html