简简单单枚举
查看原帖
简简单单枚举
1277239
DUODUOTU楼主2024/8/21 22:20
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,t[30];

void one(){
	cout<<1;
}

void two(){
	cout<<"    1    2\n    2    1";
}

void three(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]) printf("%5d%5d%5d\n",i,j,k);
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void four(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]) printf("%5d%5d%5d%5d\n",i,j,k,l);
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void five(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]) printf("%5d%5d%5d%5d%5d\n",i,j,k,l,r);
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void six(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]) printf("%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h);
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void seven(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]) printf("%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g);
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void eight(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]) printf("%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x);
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void nine(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p);
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void ten(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u);
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void eleven(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]){
																				t[u]++;
																				for(int a=1;a<=n;a++){
																					if(!t[a]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a);
																				}
																				t[u]--;
																			}
																			
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void twelve(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]){
																				t[u]++;
																				for(int a=1;a<=n;a++){
																					if(!t[a]){
																						t[a]++;
																						for(int b=1;b<=n;b++){
																							if(!t[b]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b);
																						}
																						t[a]--;
																					}
																					
																				}
																				t[u]--;
																			}
																			
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void thirteen(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]){
																				t[u]++;
																				for(int a=1;a<=n;a++){
																					if(!t[a]){
																						t[a]++;
																						for(int b=1;b<=n;b++){
																							if(!t[b]){
																								t[b]++;
																								for(int c=1;c<=n;c++){
																									if(!t[b]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c);
																								}
																								t[b]--;
																							}
																						}
																						t[a]--;
																					}
																					
																				}
																				t[u]--;
																			}
																			
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void fourteen(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]){
																				t[u]++;
																				for(int a=1;a<=n;a++){
																					if(!t[a]){
																						t[a]++;
																						for(int b=1;b<=n;b++){
																							if(!t[b]){
																								t[b]++;
																								for(int c=1;c<=n;c++){
																									if(!t[c]){
																										t[c]++;
																										for(int d=1;d<=n;d++){
																											if(!t[c]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d);
																										}
																										t[c]--;
																									}
																								}
																								t[b]--;
																							}
																						}
																						t[a]--;
																					}
																					
																				}
																				t[u]--;
																			}
																			
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void fifteen(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]){
																				t[u]++;
																				for(int a=1;a<=n;a++){
																					if(!t[a]){
																						t[a]++;
																						for(int b=1;b<=n;b++){
																							if(!t[b]){
																								t[b]++;
																								for(int c=1;c<=n;c++){
																									if(!t[c]){
																										t[c]++;
																										for(int d=1;d<=n;d++){
																											if(!t[d]){
																												t[d]++;
																												for(int s=1;s<=n;s++){
																													if(!t[s]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d,s);
																												}
																												t[d]--;
																											}
																											
																										}
																										t[c]--;
																									}
																								}
																								t[b]--;
																							}
																						}
																						t[a]--;
																					}
																					
																				}
																				t[u]--;
																			}
																			
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void sixteen(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]){
																				t[u]++;
																				for(int a=1;a<=n;a++){
																					if(!t[a]){
																						t[a]++;
																						for(int b=1;b<=n;b++){
																							if(!t[b]){
																								t[b]++;
																								for(int c=1;c<=n;c++){
																									if(!t[c]){
																										t[c]++;
																										for(int d=1;d<=n;d++){
																											if(!t[d]){
																												t[d]++;
																												for(int s=1;s<=n;s++){
																													if(!t[s]){
																														t[s]++;
																														for(int m=1;m<=n;m++){
																															if(!t[m]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d,s,m);
																														}
																														t[s]--;
																													}
																													
																												}
																												t[d]--;
																											}
																											
																										}
																										t[c]--;
																									}
																								}
																								t[b]--;
																							}
																						}
																						t[a]--;
																					}
																					
																				}
																				t[u]--;
																			}
																			
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void seventeen(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]){
																				t[u]++;
																				for(int a=1;a<=n;a++){
																					if(!t[a]){
																						t[a]++;
																						for(int b=1;b<=n;b++){
																							if(!t[b]){
																								t[b]++;
																								for(int c=1;c<=n;c++){
																									if(!t[c]){
																										t[c]++;
																										for(int d=1;d<=n;d++){
																											if(!t[d]){
																												t[d]++;
																												for(int s=1;s<=n;s++){
																													if(!t[s]){
																														t[s]++;
																														for(int m=1;m<=n;m++){
																															if(!t[m]){
																																t[m]++;
																																for(int w=1;w<=n;w++){
																																	if(!t[m]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d,s,m,w);
																																}
																																t[m]--;
																															}
																															
																														}
																														t[s]--;
																													}
																													
																												}
																												t[d]--;
																											}
																											
																										}
																										t[c]--;
																									}
																								}
																								t[b]--;
																							}
																						}
																						t[a]--;
																					}
																					
																				}
																				t[u]--;
																			}
																			
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

void eighteen(){
	for(int i=1;i<=n;i++){
		t[i]++;
		for(int j=1;j<=n;j++){
			if(!t[j]){
				t[j]++;
				for(int k=1;k<=n;k++){
					if(!t[k]){
						t[k]++;
						for(int l=1;l<=n;l++){
							if(!t[l]){
								t[l]++;
								for(int r=1;r<=n;r++){
									if(!t[r]){
										t[r]++;
										for(int h=1;h<=n;h++){
											if(!t[h]){
												t[h]++;
												for(int g=1;g<=n;g++){
													if(!t[g]){
														t[g]++;
														for(int x=1;x<=n;x++){
															if(!t[x]){
																t[x]++;
																for(int p=1;p<=n;p++){
																	if(!t[p]){
																		t[p]++;
																		for(int u=1;u<=n;u++){
																			if(!t[u]){
																				t[u]++;
																				for(int a=1;a<=n;a++){
																					if(!t[a]){
																						t[a]++;
																						for(int b=1;b<=n;b++){
																							if(!t[b]){
																								t[b]++;
																								for(int c=1;c<=n;c++){
																									if(!t[c]){
																										t[c]++;
																										for(int d=1;d<=n;d++){
																											if(!t[d]){
																												t[d]++;
																												for(int s=1;s<=n;s++){
																													if(!t[s]){
																														t[s]++;
																														for(int m=1;m<=n;m++){
																															if(!t[m]){
																																t[m]++;
																																for(int w=1;w<=n;w++){
																																	if(!t[w]){
																																		t[w]++;
																																		for(int perfect_finish=1;perfect_finish<=n;perfect_finish++){
																																			if(!t[m]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d,s,m,w,perfect_finish);
																																		}
																																		t[w]--;
																																	}
																																}
																																t[m]--;
																															}
																															
																														}
																														t[s]--;
																													}
																													
																												}
																												t[d]--;
																											}
																											
																										}
																										t[c]--;
																									}
																								}
																								t[b]--;
																							}
																						}
																						t[a]--;
																					}
																					
																				}
																				t[u]--;
																			}
																			
																		}
																		t[p]--;
																	}
																}
																t[x]--;
															}
														}
														t[g]--;
													}
												}
												t[h]--;
											}
										}
										t[r]--;
									}
								}
								t[l]--;
							}
						}
						t[k]--;
					}
				}
				t[j]--;
			}
		}
		t[i]--;
	}
}

signed main(){
	cin>>n;
	switch(n){
		case(1):
			one();
			break;
		case(2):
			two();
			break;
		case(3):
			three();
			break;
		case(4):
			four();
			break;
		case(5):
			five();
			break;
		case(6):
			six();
			break;
		case(7):
			seven();
			break;
		case(8):
			eight();
			break;
		case(9):
			nine();
			break;
		case(10):
			ten();
			break;
		case(11):
			eleven();
			break;
		case(12):
			twelve();
			break;
		case(13):
			thirteen();
			break;
		case(14):
			fourteen();
			break;
		case(15):
			fifteen();
			break;
		case(16):
			sixteen();
			break;
		case(17):
			seventeen();
			break;
		case(18):
			eighteen();
			break;
	}
	return 0;
}
2024/8/21 22:20
加载中...