题目大意:给出一个字符串,计算与它按照字典序排序排列后的字符串有多少个位置不同。
解题思路:水体,sort一下,然后遍历一遍就好。
#include <stdio.h>
#include <string.h>
#include <algorithm> using namespace std; const int N = 105; char str[N], tmp[N]; int main () {
int cas, n; scanf("%d", &cas);
for (int i = 1; i <= cas; i++) {
scanf("%d", &n);
scanf("%s", str);
strcpy(tmp, str);
sort(tmp, tmp + n); int ans = 0;
for (int j = 0; j < n; j++)
if (str[j] != tmp[j]) ans++;
printf("Case %d: %d\n", i, ans); }
return 0;
}