# include <stdio.h>
# include <string.h>
# include <iostream>
using namespace std ;
typedef char str30[30] ;
str30 ans[50000] ;
str30 k = "\0" ;
int p = 0 ;
void swap(char *x, char *y) {
char temp;
temp = *x;
*x = *y;
*y = temp;
} // swap
void permute(char *a, int h, int r) {
int i, n ;
char temp ;
if (h == r) {
strcpy( ans[p], a ) ;
p++ ;
} // if
else {
for (i = h; i <= r; i++) {
swap((a+h), (a+i));
permute(a, h+1, r);
swap((a+h), (a+i)); //backtrack
} // for
} // else
} // permute
int main() {
char a[50000] ;
char temp ;
int i = 0, n, all ;
scanf( "%d\n", &all ) ;
for ( int j = 0 ; j < all ; j++ ) {
i = 0 ;
for ( scanf( "%c", &temp ) ; temp != '\n' ; scanf( "%c", &temp ) ) {
a[i] = temp ;
i++ ;
} // for
a[i] = '\0' ;
n = strlen(a);
permute(a, 0, n-1);
strcpy( ans[p], k ) ;
for ( i = 0 ; i < p ; i++ ) {
for ( int h = i ; h < p ; h++ ) {
if ( strcmp( ans[i], ans[h] ) > 0 ) {
strcpy( a, ans[h] ) ;
strcpy( ans[h], ans[i] ) ;
strcpy( ans[i], a ) ;
} // if
} // for
} // for
for ( i = 0 ; i < p ; i++ ) {
printf( "%s\n", ans[i] ) ;
} // for
p = 0 ;
} // for
} // main()
C. 完美平方數 #include <iostream> #include <math.h> using namespace std; int numSquares(int n); int main() { int num, ans;
Jan 27, 2022E. 鐵路 本題源自於Onling Judge:514 - Rails 題目目標在於給定出站順序的前提下,利用已知入站順序1~N, 確定是否仍能夠以目標出站順序離開。 有一個簡單的想法,我們利用queue的特性來維護出站順序、 利用stack的特性來維護入站順序, 並依次比較它們的front/top是否相同,如果相同就安排出站(pop)。
Jan 27, 2022C. 組合 #include<bits/stdc++.h> using namespace std; vector<int> a; bool first=true,f=true; fstream input,output; void find(int g,vector<int> &can,int p){ if(!g){ if(!first){
Sep 19, 2021D. Flood Fill # include <bits/stdc++.h> using namespace std; int m[102][102]; struct Fill{ int x,y,t; };
Sep 16, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up