Skip to content

Commit 0497309

Browse files
authored
Add files via upload
1 parent 67ccf67 commit 0497309

File tree

2 files changed

+91
-0
lines changed

2 files changed

+91
-0
lines changed

greedy/job_sequencing.normal.cpp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/*
2+
written by pankaj kumar.
3+
*/
4+
#include<iostream>
5+
#include<vector>
6+
#include<cmath>
7+
#include<set>
8+
#include<algorithm>
9+
#include<string.h>
10+
#define pan cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(0);
11+
#define mod 1000000007;
12+
using namespace std;
13+
typedef long long ll ;
14+
#define line cout<<endl;
15+
/* ascii value
16+
A=65,Z=90,a=97,z=122
17+
*/
18+
19+
bool com(const pair<char,pair<int,int>>&v1,const pair<char,pair<int,int>>&v2)
20+
{
21+
return (v1.second.second>v2.second.second);
22+
}
23+
24+
int main()
25+
{
26+
pan;
27+
vector<pair<char,pair<int,int>>>vec;
28+
vec.push_back(make_pair('a',make_pair(2,100)));
29+
vec.push_back(make_pair('b',make_pair(1,19)));
30+
vec.push_back(make_pair('c',make_pair(2,27)));
31+
vec.push_back(make_pair('d',make_pair(1,25)));
32+
vec.push_back(make_pair('e',make_pair(3,15)));
33+
sort(vec.begin(),vec.end(),com);
34+
int size=vec.size();
35+
bool flag[size]={false};
36+
vector<int>pak;
37+
for(int i=0;i<size;i++)
38+
{
39+
for(int j=min(size,vec[i].second.first)-1;j>=0;j--)
40+
{
41+
if(flag[j]==false)
42+
{
43+
flag[j]=true;
44+
pak.push_back(i);
45+
break;
46+
}
47+
}
48+
}
49+
50+
for(int i=0;i<size;i++)
51+
{
52+
if(flag[i])
53+
cout<<vec[pak[i]].first<<" ";
54+
}
55+
line;
56+
}

greedy/police_thief.cpp

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include<iostream>
2+
#include<vector>
3+
using namespace std;
4+
5+
int main()
6+
{
7+
char arr1[]={'P','T','T','P','T'};
8+
int n=sizeof(arr1)/sizeof(arr1[0]);
9+
int k=2;
10+
// police catch thieve
11+
vector<int>p;
12+
vector<int>t;
13+
for(int i=0;i<n;i++)
14+
{
15+
if(arr1[i]=='P')
16+
p.push_back(i);
17+
else
18+
t.push_back(i);
19+
}
20+
int i=0,j=0,count=0;
21+
while(i<p.size() && j<t.size())
22+
{
23+
if(abs(p[i]-t[j])<=k)
24+
{
25+
count++;
26+
i++;
27+
j++;
28+
}
29+
else if(p[i]>t[j])
30+
j++;
31+
else
32+
i++;
33+
}
34+
cout<<count<<endl;
35+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy