Skip to content

Commit 92bc982

Browse files
Merge branch 'master' into master
2 parents 67a2035 + 0ced0cb commit 92bc982

38 files changed

+1174
-3
lines changed

CONTRIBUTORS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,5 +116,6 @@ These are the list of contributors to this project **who have completed 5 proble
116116
117117
> <img src="https://avatars0.githubusercontent.com/u/53379005?s=400&u=a852e463c8cbae7653bf7651c0844b384ab7a7d8&v=4" width="50"> [Utkarsh Shankar](https://github.com/UtkarshShankar)
118118
119-
> <img src="https://avatars1.githubusercontent.com/u/53162729?s=400&u=16783675e602b7de353919c32357c7e12bc69ee3&v=4" width="50"> [Sahil Agarwal](https://github.com/agarwalsahil0210)
119+
> <img src="https://avatars0.githubusercontent.com/u/52209941?s=460&u=10cdd32a6dffc5d10e4dfd6d46821e59fbff5ca6&v=4" width="50"> [Saurabh Nikam](https://github.com/saurabh-nikam/)
120120
121+
> <img src="https://avatars1.githubusercontent.com/u/53162729?s=400&u=16783675e602b7de353919c32357c7e12bc69ee3&v=4" width="50"> [Sahil Agarwal](https://github.com/agarwalsahil0210)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name":"Building Roads","group":"CSES - CSES Problem Set","url":"https://cses.fi/problemset/task/1666","interactive":false,"memoryLimit":512,"timeLimit":1000,"tests":[{"id":1601085870725,"input":"4 2\n1 2\n3 4\n","output":"1\n2 3\n"}],"testType":"single","input":{"type":"stdin"},"output":{"type":"stdout"},"languages":{"java":{"mainClass":"Main","taskClass":"BuildingRoads"}},"srcPath":"/media/zcruz/Data/Study/CPLibrary/Problems/CSES/Graph/Building_Roads.cpp"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name":"Building Teams","group":"CSES - CSES Problem Set","url":"https://cses.fi/problemset/task/1668","interactive":false,"memoryLimit":512,"timeLimit":1000,"tests":[{"id":1601357601408,"input":"5 3\n1 2\n1 3\n4 5\n","output":"1 2 2 1 2\n"}],"testType":"single","input":{"type":"stdin"},"output":{"type":"stdout"},"languages":{"java":{"mainClass":"Main","taskClass":"BuildingTeams"}},"srcPath":"/media/zcruz/Data/Study/CPLibrary/Problems/CSES/Graph/Building_Teams.cpp"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name":"Counting Rooms","group":"CSES - CSES Problem Set","url":"https://cses.fi/problemset/task/1192","interactive":false,"memoryLimit":512,"timeLimit":1000,"tests":[{"id":1601085822567,"input":"5 8\n########\n#..#...#\n####.#.#\n#..#...#\n########\n","output":"3\n"}],"testType":"single","input":{"type":"stdin"},"output":{"type":"stdout"},"languages":{"java":{"mainClass":"Main","taskClass":"CountingRooms"}},"srcPath":"/media/zcruz/Data/Study/CPLibrary/Problems/CSES/Graph/Counting_Rooms.cpp"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name":"Labyrinth","group":"CSES - CSES Problem Set","url":"https://cses.fi/problemset/task/1193","interactive":false,"memoryLimit":512,"timeLimit":1000,"tests":[{"id":1601085858617,"input":"5 8\n########\n#.A#...#\n#.##.#B#\n#......#\n########\n","output":"YES\n9\nLDDRRRRRU\n"}],"testType":"single","input":{"type":"stdin"},"output":{"type":"stdout"},"languages":{"java":{"mainClass":"Main","taskClass":"Labyrinth"}},"srcPath":"/media/zcruz/Data/Study/CPLibrary/Problems/CSES/Graph/Labyrinth.cpp"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name":"Message Route","group":"CSES - CSES Problem Set","url":"https://cses.fi/problemset/task/1667","interactive":false,"memoryLimit":512,"timeLimit":1000,"tests":[{"id":1601106441000,"input":"5 5\n1 2\n1 3\n1 4\n2 3\n5 4\n","output":"3\n1 4 5\n"}],"testType":"single","input":{"type":"stdin"},"output":{"type":"stdout"},"languages":{"java":{"mainClass":"Main","taskClass":"MessageRoute"}},"srcPath":"/media/zcruz/Data/Study/CPLibrary/Problems/CSES/Graph/Message_Route.cpp"}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"files.associations": {
3+
"iostream": "cpp"
4+
}
5+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#include<bits/stdc++.h>
2+
using namespace std;
3+
void DFS_util(int node,vector<vector<int>>&mat,vector<bool>&visited)
4+
{
5+
visited[node]=true;
6+
for(auto v:mat[node])
7+
{
8+
if(!visited[v])
9+
DFS_util(v,mat,visited);
10+
}
11+
}
12+
int main()
13+
{
14+
ios_base::sync_with_stdio(false);
15+
cin.tie(NULL);
16+
int n,m;
17+
cin>>n>>m;
18+
vector<vector<int>>g(n);
19+
for(int i=0;i<m;i++)
20+
{
21+
int u,v;
22+
cin>>u>>v;
23+
g[u-1].push_back(v-1);
24+
g[v-1].push_back(u-1);
25+
}
26+
vector<bool>visited(n,false);
27+
vector<int>cities;
28+
int comp=0;
29+
for(int i=0;i<n;i++)
30+
{
31+
if(!visited[i])
32+
{
33+
cities.push_back(i);
34+
DFS_util(i,g,visited);
35+
comp++;
36+
}
37+
}
38+
int start=cities[0]+1;
39+
cout<<comp-1<<endl;
40+
for(int i=1;i<cities.size();i++)
41+
{
42+
cout<<start<<" "<<cities[i]+1<<endl;
43+
}
44+
45+
46+
return 0;
47+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#include<bits/stdc++.h>
2+
using namespace std;
3+
#define endl "\n"
4+
5+
bool DFS_color(int node,int col, vector<int>&color,vector<vector<int>>&g)
6+
{
7+
8+
color[node]=col;
9+
bool res=true;
10+
for(auto v:g[node])
11+
{
12+
13+
if(color[v]==0)
14+
{
15+
16+
res= res&DFS_color(v,(col^3),color,g);
17+
}
18+
if(color[node]==color[v])
19+
return false;
20+
21+
}
22+
return res;
23+
}
24+
25+
int main()
26+
{
27+
ios_base::sync_with_stdio(false);
28+
cin.tie(NULL);
29+
30+
int n,m;
31+
cin>>n>>m;
32+
vector<vector<int>> g(n);
33+
vector<int>color(n,0);
34+
35+
for(int i=0;i<m;i++)
36+
{
37+
int u,v;
38+
cin>>u>>v;
39+
g[u-1].push_back(v-1);
40+
g[v-1].push_back(u-1);
41+
}
42+
bool res=true;
43+
for(int i=0;i<n;i++)
44+
{
45+
if(color[i]==0)
46+
{
47+
res=res&DFS_color(i,1,color,g);
48+
}
49+
}
50+
if(res)
51+
{
52+
for(int i=0;i<n;i++)
53+
cout<<color[i]<<" ";
54+
cout<<endl;
55+
}
56+
else
57+
{
58+
cout<<"IMPOSSIBLE\n";
59+
}
60+
61+
return 0;
62+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#include<bits/stdc++.h>
2+
using namespace std;
3+
4+
vector<pair<int,int>> paths={{-1,0},{0,-1},{1,0},{0,1}};
5+
bool valid_node(pair<int,int>&cord,int r,int c)
6+
{
7+
if(cord.first < r && cord.second < c && cord.first > -1 && cord.second >-1)
8+
return true;
9+
return false;
10+
}
11+
void DFS_util(pair<int,int>&node,vector<vector<char>>&mat,vector<vector<bool>>&visited)
12+
{
13+
14+
15+
visited[node.first][node.second] =true;
16+
17+
for(auto path:paths)
18+
{
19+
pair<int,int>temp={node.first+path.first,node.second+path.second};
20+
21+
if(valid_node(temp,mat.size(),mat[0].size()) && !visited[temp.first][temp.second])
22+
{
23+
DFS_util(temp,mat,visited);
24+
}
25+
}
26+
}
27+
int main()
28+
{
29+
ios_base::sync_with_stdio(false);
30+
cin.tie(NULL);
31+
int n,m;
32+
cin>>n>>m;
33+
vector<vector<char>>mat(n,vector<char>(m));
34+
vector<vector<bool>>visited(n,vector<bool>(m));
35+
for(int i=0;i<n;i++)
36+
{
37+
for(int j=0;j<m;j++)
38+
{
39+
cin>>mat[i][j];
40+
if(mat[i][j]=='#')
41+
visited[i][j]=true;
42+
else
43+
visited[i][j]=false;
44+
45+
}
46+
}
47+
int count=0;
48+
pair<int,int> start;
49+
50+
for(int i=0;i<n;i++)
51+
{
52+
for(int j=0;j<m;j++)
53+
{
54+
if(!visited[i][j])
55+
{
56+
start={i,j};
57+
DFS_util(start,mat,visited);
58+
count++;
59+
}
60+
}
61+
}
62+
cout<<count<<endl;
63+
64+
return 0;
65+
}

0 commit comments

Comments
 (0)