Cod sursa(job #420462)
| Utilizator | Data | 19 martie 2010 12:10:53 | |
|---|---|---|---|
| Problema | Litere | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<stdio.h>
FILE *fin, *fout;
int n,p,ip,nr,i;
char s[12000],ch;
int main(){
fin=fopen("litere.in","r");
fout=fopen("litere.out","w");
fscanf(fin,"%d\n",&n);
fgets(s,12000,fin);
p=0;ip=-1;
while(p<n-1){
p++;
if(s[p]<s[p-1] && p>=1){
if(ip==-1){ ip=p; }
ch=s[p];
s[p]=s[p-1];
s[p-1]=ch;
nr++;
p=p-2;
}
else{
if(ip!=-1){
p=ip;
ip=-1;
}
}
}
/*for(i=0;i<n;i++){
fprintf(fout,"%c",s[i]);
}
*/
fprintf(fout,"%d",nr);
fclose(fout);
fclose(fin);
return 0;
}