Pagini recente » Cod sursa (job #2496201) | Cod sursa (job #720636) | Cod sursa (job #2186277) | Cod sursa (job #2333812) | Cod sursa (job #1736854)
////var I sol. ordonate lexicografic
////idee (cu backtraking) 1
////combinari de lungime variabila 1 2
////toate sirurile cu elem. crescatoare 1 2 3
//#include <fstream> // 2
//using namespace std; // 2 3
//ifstream fi("submultimi.in");
//ofstream fo("submultimi.out");
//int a[100],k,i,n;
//void afis(int i){
//int j;
//for(j=1;j<=i;j++)fo<<a[j]
// <<" ";
//fo<<'\n';
//}
//int valid(int i){
//int j;
//if(i>1)
// if(a[i-1]>=a[i])return 0;
//return 1;
//}
//void backtr(int i){
//int val;
//for(val=1;val<=n;val++){
// a[i]=val;
// if(valid(i))
// {afis(i);
// backtr(i+1);
// }
// }
//}
//int main(){
// fi>>n;
// backtr(1);
//return 0;
//}
////var II
//#include<fstream>
//using namespace std;
//ifstream fi("submultimi.in");
//ofstream fo("submultimi.out");
//int n,sol[20],i,k;
//int main()
//{
//
//fi>>n;
//while(sol[n+1]==0)
// {
// sol[1]++;k=1;
// while(sol[k]>1)
// {
// sol[k]=0; sol[k+1]++; k++;
// }
// for(i=1;i<=n;i++)
// if(sol[i]==1) fo<<i<<" ";
// fo<<'\n';
// }
//return 0;
//}
//var III cu op. pe biti
#include <fstream>
using namespace std;
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int main()
{
int i,j,lim,n;
f>>n;
lim=1<<n;
for(i=1;i<lim;i++)
{
for(j=1;j<=n;j++)
if(i&(1<<(j-1)))
g<<j<<" ";
g<<'\n';
}
return 0;
}