Thứ Sáu, 11 tháng 1, 2019

UVa 00195 - Anagram * (easier with algorithm::next_permutation)

Link:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=131
Sol:
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cctype>
using namespace std;
bool comparator(char a, char b){
if(tolower(a) == tolower(b)){
return a<b;
}
return tolower(a) < tolower(b);
}
int main() {
char word[1000];
int n;
cin >> n;
while(n--){
cin.ignore();
cin >> word;
sort(word,word+strlen(word),comparator);
cout << word << endl;
while(next_permutation(word,word+strlen(word),comparator)){
cout << word << endl;
}
}
return 0;
}

Không có nhận xét nào:

Đăng nhận xét

Bài G - Educatioal Round 62

Đề bài: Bạn được cho 1 đồ thị vô hướng đặc biệt. Nó bao gồm $2n$ đỉnh được đánh số từ 1 đến 2n. Dưới đây là một số đặc tính của đồ thị: + ...