Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream cin("turn.in");
- ofstream cout("turn.out");
- int n,X[16],A[16],H[101],P[101],h;
- void afisare(int n)
- {
- for(int i = 1; i <= n;i++)
- cout<<X[i]<<" ";
- cout<<'\n'
- ;
- }
- void back(int k,int sp)
- {
- for(int i = 1;i <= n;i++)
- if(!P[i])
- {
- X[k]=i;
- P[i]=1;
- if(k==1 || A[X[k]] <= A[X[k-1]] && H[X[k]] != H[X[k-1]])
- {
- sp +=A[X[k]];
- if(sp <= h)
- if(sp == h)
- afisare(k);
- else back(k+1,sp);
- sp -= A[X[k]];
- }
- P[i] = 0;
- }
- }
- int main()
- {
- cin >> n>>h;
- for(int i = 1; i <= n;i++)
- cin>> A[i]>>H[i];
- back(1,0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement