提交时间:2025-04-03 15:55:54

运行 ID: 8677

#include <bits/stdc++.h> using namespace std; int n,t,a[10],b[10],c[20],d[20],cnt=0,ans[100]; void save() { cnt++; for(int i = 1; i<=8; i++) { ans[cnt] = ans[cnt]*10+a[i]; } } void search(int i) { for(int j = 1; j<=8; j++) { if(b[j] == 0 && c[i-j+7]==0 && d[i+j]==0) { a[i]=j; b[j]=1; c[i-j+7]=1; d[i+j]=1; if(i==8) { save(); } else { search(i+1); } b[j]=0; c[i-j+7]=0; d[i+j]=0; } } } int main() { cin >> n; search(1); while(n--) { cin >> t; cout << ans[t] << endl; } return 0; }