解题思路:
注意事项:
参考代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
scanf("%d\n",&n);
m=n-1;
char c[8005];
gets(c);
int flag=0;
int cnt=0;
for(int a = 0; a < m; a ++)
{
for(int b = m; b >= a; b --)
{
if(a==b)
{
if(flag==1||n%2==0)
{
printf("Impossible");
return 0;
}
cnt+=n/2-a;
flag=1;
}
else if(c[a]==c[b])
{
for(int k = b; k < m; k++)
{
swap(c[k],c[k+1]);
cnt++;
}
m--;
break;
}
}
}
printf("%d",cnt);
return 0;
}
0.0分
1 人评分
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1342 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1241 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:560 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:545 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:667 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:562 |
排序算法(选择,插入,冒泡)浏览:774 |
小O的图案 (C语言代码)浏览:909 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:594 |
10月月赛题解浏览:536 |