Il codice di seguito mi risolve solo i primi 4 testcase, gli altri 6 mi dà che la soluzione è errata.
#include <stdio.h>
main()
{
FILE *f1;
FILE *f2;
f1=fopen(“input.txt”,“r”);
f2=fopen(“output.txt”,“w”);
int l,i;
int temp;
fscanf(f1,“%d\t”,&l);
int v[l];
for(i=0; i<l; i++){
v[i]=i+1;
}
char s[l];
fgets(s,l,f1);
for(i=0; i<l-1; i++){
if(s[i]==‘>’){
temp=v[i];
v[i]=v[i+1];
v[i+1]=temp;
}
}
for(i=0; i<l-1; i++){
if(s[i]==‘>’){
if(v[i]<v[i+1]){
temp=v[i];
v[i]=v[i+1];
v[i+1]=temp;
}
}
else{
if(v[i]>v[i+1]){
temp=v[i];
v[i]=v[i+1];
v[i+1]=temp;
}
}}
for(i=0; i<l; i++){
fprintf(f2,"%d ", v[i]);
}
fclose(f1);
fclose(f2);
}
So che il codice è primitivo, ma ho iniziato ad allenarmi da poco, quindi ogni consiglio è benaccetto.