作业:
已做:
#include <iostream>
using namespace std;
int n;
int a[100];
void func(int ,int);
int main(){
cin>>n;
func(0,n);
return 0;
}
void func(int k,int m){
if(k>m-1){
for(int i=0;i<m;i++){
cout<<a[i];
}
cout<<endl;
return;
}
for(int i=1;i<=m;i++){
a[k]=i;
func(k+1,m);
}
}
#include <iostream>
using namespace std;
int n;
int a[100];
bool b[100];
void func(int ,int);
int main(){
cin>>n;
func(0,n);
return 0;
}
void func(int k,int m){
if(k>m-1){
for(int i=0;i<m;i++){
cout<<a[i]<<' ';
}
cout<<endl;
return;
}
for(int i=1;i<=m;i++){
if(b[i]==0){
b[i]=1;
a[k]=i;
func(k+1,m);
b[i]=0;
}
}
}
#include <iostream>
#include <algorithm>
using namespace std;
int n;
int a[100];//xb
bool b[100];//bj
int c[100];//sz
void func(int ,int);
int main(){
cin>>n;
for(int i=0;i<n;i++)cin>>c[i];
sort(c+0,c+n);
func(0,n);
return 0;
}
void func(int k,int m){
if(k>m-1){
for(int i=0;i<m;i++){
cout<<c[a[i]]<<' ';
}
cout<<endl;
return;
}
for(int i=0;i<m;i++){
if(b[i]==0){
b[i]=1;
a[k]=i;
func(k+1,m);
b[i]=0;
}
}
}
#include <iostream>
using namespace std;
int n,r;
int a[100];
bool b[100];
void func(int ,int,int);
int main(){
cin>>n>>r;
func(0,n,r);
return 0;
}
void func(int k,int m,int r){
if(k>r-1){
for(int i=0;i<r;i++){
cout<<a[i]<<' ';
}
cout<<endl;
return;
}
for(int i=1;i<=m;i++){
if(b[i]==0){
b[i]=1;
a[k]=i;
func(k+1,m,r);
b[i]=0;
}
}
}
#include <iostream>
#include <algorithm>
using namespace std;
int n,l;
int a[100];//xb
bool b[100];//bj
char c[100];//sz
void func(int,int,int,int,int);
void pri(int);
int main() {
cin>>l>>n;
for(int i=0; i<n; i++)cin>>c[i];
sort(c+0,c+n);
func(0,n,l,0,0);
return 0;
}
void func(int k,int m,int l,int cntf,int cnty) {
if(k>l-1) {
if(cntf>=2&&cnty>=1) {
for(int i=0; i<l; i++) {
cout<<c[a[i]];
}
cout<<endl;
}
return;
}
for(int i=0; i<m; i++) {
if(b[i]==0&&(k==0?1:c[a[k-1]]<c[i])) {
b[i]=1;
if(c[i]=='a'||c[i]=='e'||c[i]=='i'||c[i]=='o'||c[i]=='u')cnty++;
else cntf++;
a[k]=i;
func(k+1,m,l,cntf,cnty);
b[i]=0;
}
}
}
#include <iostream>
using namespace std;
bool b[1010]={1};
int cnt=0;
int a[6];//max
int ai[6];//var
const int az[6]={1,2,3,5,10,20};
void func(int,int);
int main(){
for(int i=0;i<6;i++){
cin>>a[i];
}
func(0,6);
cout<<"Total:"<<cnt;
return 0;
}
void func(int k,int m){
if(k>m-1){
int sum=0;
for(int i=0;i<6;i++)sum+=ai[i]*az[i];
if(b[sum]==0){
cnt++;
b[sum]=1;
}
return;
}
for(int i=0;i<=a[k];i++){
ai[k]=i;
func(k+1,m);
}
}
#include <iostream>
using namespace std;
int n;
int a[100];
bool b[100];
void func(int,int);
int main() {
func(0,9);
return 0;
}
void func(int k,int m) {
if(k>m-1) {
for(int i=0;i<3;i++){
cout<<a[i];
}
cout<<' ';
for(int i=3;i<6;i++){
cout<<a[i];
}
cout<<' ';
for(int i=6;i<9;i++){
cout<<a[i];
}
cout<<endl;
return;
}
for(int i=1; i<=m; i++) {
bool flag=1;
if(k==5) {
int a1=0,a2=0;
for(int j=0; j<2; j++) {
a1=a1*10+a[j];
a2=a2*10+a[j+3];
}
a1=a1*10+a[2];
a2=a2*10+i;
if(2*a1!=a2)flag=0;
}
if(k==8) {
int a1=0,a2=0;
for(int j=0; j<2; j++) {
a1=a1*10+a[j];
a2=a2*10+a[j+6];
}
a1=a1*10+a[2];
a2=a2*10+i;
if(3*a1!=a2)flag=0;
}
if(b[i]==0&&flag) {
b[i]=1;
a[k]=i;
func(k+1,m);
b[i]=0;
}
}
}
#include <iostream>
using namespace std;
int a[20];
int n;
void func(int,int);
bool zs(int);
int main(){
cin>>n;
func(0,n);
return 0;
}
void func(int k,int m){
if(k>m-1){
for(int i=0;i<m;i++){
cout<<a[i];
}
cout<<endl;
return;
}
for(int i=1;i<=9;i++){
int sum=0;
for(int j=0;j<k;j++){
sum=sum*10+a[j];
}
sum=sum*10+i;
if(zs(sum)){
a[k]=i;
func(k+1,m);
}
}
}
bool zs(int a){
if(a==1||a==4)return 0;
if(a==2||a==3)return 1;
for(int i=2;i*i<=a;i++)if(a%i==0)return 0;
return 1;
}
#include <iostream>
using namespace std;
bool bj[1000]= {0};
int a[20];
int n,cnt=0;
void func(int,int);
bool zs(int);
int main() {
cin>>n;
func(0,n);
cout<<"total:"<<cnt;
return 0;
}
void func(int k,int m) {
if(k>m-1) {
cnt++;
cout<<cnt<<':';
for(int i=0; i<m; i++) {
cout<<a[i]<<' ';
}
cout<<endl;
return;
}
for(int i=1; i<=m; i++) {
if(k==m-1) {
if(zs(a[0]+i)&&zs(a[k-1]+i)&&bj[i]==0) {
bj[i]=1;
a[k]=i;
func(k+1,m);
bj[i]=0;
}
} else if(k==0) {
bj[i]=1;
a[k]=i;
func(k+1,m);
bj[i]=0;
} else if(k>0&&k<m-1) {
if(zs(a[k-1]+i)&&bj[i]==0) {
bj[i]=1;
a[k]=i;
func(k+1,m);
bj[i]=0;
}
}
}
}
bool zs(int a) {
if(a==1||a==4)return 0;
if(a==2||a==3)return 1;
for(int i=2; i*i<=a; i++)if(a%i==0)return 0;
return 1;
}
#include <iostream>
using namespace std;
bool bj[1000]= {0};
int a[20];
int n,cnt=0;
void func(int,int);
bool zs(int);
int main() {
cin>>n;
if(n%2)return 0;
func(0,n);
return 0;
}
void func(int k,int m) {
if(cnt>10)return;
if(k>m-1) {
cnt++;
for(int i=0; i<m; i++) {
cout<<a[i]<<' ';
}
cout<<endl;
return;
}
if(k==0) {
bj[1]=1;
a[k]=1;
func(k+1,m);
bj[1]=0;
}
for(int i=1; i<=m; i++) {
if(k==m-1) {
if(zs(a[0]+i)&&zs(a[k-1]+i)&&bj[i]==0) {
bj[i]=1;
a[k]=i;
func(k+1,m);
bj[i]=0;
}
}
else if(k>0&&k<m-1) {
if(zs(a[k-1]+i)&&bj[i]==0) {
bj[i]=1;
a[k]=i;
func(k+1,m);
bj[i]=0;
}
}
}
}
bool zs(int a) {
if(a==1||a==4)return 0;
if(a==2||a==3)return 1;
for(int i=2; i*i<=a; i++)if(a%i==0)return 0;
return 1;
}
未做: