Submission
Status:
PPP-P-Px-xPPP-P--xx-
Subtask/Task Score:
45/100
Score: 45
User: Whatthepoop
Problemset: สุ่มสลับ
Language: c
Time: 0.002 second
Submitted On: 2025-10-12 23:34:12
#include <stdio.h>
#include <string.h>
int count = 0;
char result[10000][20];
void swap(char *a, char *b) {
char temp = *a;
*a = *b;
*b = temp;
}
void permute(char *str, int l, int r) {
if (l == r) {
strcpy(result[count++], str);
return;
}
for (int i = l; i <= r; i++) {
swap(&str[l], &str[i]);
permute(str, l + 1, r);
swap(&str[l], &str[i]);
}
}
int main() {
int pos;
scanf("%d", &pos);
char s[100];
scanf("%s", s);
int n = strlen(s);
char temp[100];
strcpy(temp, s);
for(int i = 0; i < n-1; i++){
for(int j = 0; j < n-i-1; j++){
if(s[j] > s[j+1]){
int t = s[j];
s[j] = s[j+1];
s[j+1] = t;
}
}
}
permute(s, 0, n - 1);
for(int i = 0; i < count; i++){
if(strcmp(result[i], temp) == 0){
printf("%d", i+1);
break;
}
}
return 0;
}