Skip to content

Commit e36c204

Browse files
authored
Add files via upload
1 parent d0d88b0 commit e36c204

17 files changed

+2372
-0
lines changed

Bear and Friendship Condition.cpp

+110
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
#include<bits/stdc++.h>
2+
3+
using namespace std ;
4+
5+
typedef double D ;
6+
typedef long long ll ;
7+
typedef long double ld ;
8+
typedef unsigned int ui ;
9+
typedef unsigned long long ull ;
10+
11+
# define F first
12+
# define S second
13+
# define R return
14+
# define C continue
15+
# define pb push_back
16+
# define pf push_front
17+
# define mp make_pair
18+
19+
# define vi vector <int>
20+
# define vb vector <bool>
21+
# define vc vector <char>
22+
# define vll vector <ll>
23+
# define vs vector <string>
24+
25+
# define vvi vector < vector < int > >
26+
# define vvb vector < vector < bool > >
27+
# define vvc vector < vector < char > >
28+
# define vvll vector < vector < ll > >
29+
# define vvd vector < vector < D > >
30+
# define vvld vector < vector < ld > >
31+
32+
# define pii pair < int , int >
33+
# define pll pair < ll , ll >
34+
# define pld pair < ld , ld >
35+
# define pDD pair < D , D >
36+
37+
# define vpld vector < pld >
38+
# define vpii vector < pii >
39+
# define vpll vector < pll >
40+
# define vpDD vector < pDD >
41+
# define vvpii vector < vector < pii > >
42+
43+
# define all(v) (v).begin() , (v).end()
44+
# define allrev(v) (v).rbegin() , (v).rend()
45+
# define allcomp(v) v.begin() , v.end() , comp
46+
# define allrevcomp(v) v.rbegin() , v.rend() , comp
47+
48+
# define dist(a,b,p,q) sqrt((p-a)*(p-a) + (q-b)*(q-b))
49+
50+
# define FAST ios_base :: sync_with_stdio (false) ; cin.tie(0) ; cout.tie(0)
51+
52+
const ll MOD = 1e9 + 7 ;
53+
const int infi = INT_MAX ;
54+
const ll infll = LLONG_MAX ;
55+
const ld PI = 3.1415926535897932384626 ;
56+
57+
const int dx[] = {-1 , 0 , 1 , 0} ;
58+
const int dy[] = {0 , 1 , 0 , -1} ;
59+
60+
///////////////////////////////////////////////////////////////////////////////////////
61+
62+
vb vis ;
63+
vvi adj ;
64+
int n , m , u , v , ed , nd ;
65+
66+
void dfs(int node) {
67+
vis[node] = true ;
68+
++nd ;
69+
for (int child : adj[node]) {
70+
++ed ;
71+
if (vis[child] == false) {
72+
dfs(child) ;
73+
}
74+
}
75+
}
76+
77+
void solve (int test_case) {
78+
cin >> n >> m ;
79+
adj = vvi (n+1) ;
80+
vis = vb (n+1 , false) ;
81+
for (int i = 1 ; i <= m ; ++i) {
82+
cin >> u >> v ;
83+
adj[u].pb(v) ;
84+
adj[v].pb(u) ;
85+
}
86+
for (int i = 1 ; i <= n ; ++i) {
87+
if (vis[i] == false) {
88+
ed = nd = 0 ;
89+
dfs(i) ;
90+
ed /= 2 ;
91+
if (ed != (ll)nd*(nd-1)/2) {
92+
cout << "NO\n" ;
93+
return ;
94+
}
95+
}
96+
}
97+
cout << "YES\n" ;
98+
}
99+
100+
int main(){
101+
//freopen ("input.txt","r",stdin) ;
102+
//freopen ("output.txt","w",stdout) ;
103+
FAST ;
104+
int tc = 1 ;
105+
// cin >> tc ;
106+
while (tc--){
107+
solve (tc) ;
108+
}
109+
return 0 ;
110+
}

Bear and Three Musketeers.cpp

+145
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
#include<bits/stdc++.h>
2+
3+
using namespace std ;
4+
5+
typedef double D ;
6+
typedef long long ll ;
7+
typedef long double ld ;
8+
typedef unsigned int ui ;
9+
typedef unsigned long long ull ;
10+
11+
# define F first
12+
# define S second
13+
# define R return
14+
# define C continue
15+
# define pb push_back
16+
# define pf push_front
17+
# define mp make_pair
18+
19+
# define vi vector <int>
20+
# define vb vector <bool>
21+
# define vc vector <char>
22+
# define vll vector <ll>
23+
# define vs vector <string>
24+
25+
# define vvi vector < vector < int > >
26+
# define vvb vector < vector < bool > >
27+
# define vvc vector < vector < char > >
28+
# define vvll vector < vector < ll > >
29+
# define vvd vector < vector < D > >
30+
# define vvld vector < vector < ld > >
31+
32+
# define pii pair < int , int >
33+
# define pll pair < ll , ll >
34+
# define pld pair < ld , ld >
35+
# define pDD pair < D , D >
36+
37+
# define vpld vector < pld >
38+
# define vpii vector < pii >
39+
# define vpll vector < pll >
40+
# define vpDD vector < pDD >
41+
# define vvpii vector < vector < pii > >
42+
43+
# define all(v) (v).begin() , (v).end()
44+
# define allrev(v) (v).rbegin() , (v).rend()
45+
# define allcomp(v) v.begin() , v.end() , comp
46+
# define allrevcomp(v) v.rbegin() , v.rend() , comp
47+
48+
# define dist(a,b,p,q) sqrt((p-a)*(p-a) + (q-b)*(q-b))
49+
50+
# define FAST ios_base :: sync_with_stdio (false) ; cin.tie(0) ; cout.tie(0)
51+
52+
const ll MOD = 1e9 + 7 ;
53+
const int infi = INT_MAX ;
54+
const ll infll = LLONG_MAX ;
55+
const ld PI = 3.1415926535897932384626 ;
56+
57+
const int dx[] = {-1 , 0 , 1 , 0} ;
58+
const int dy[] = {0 , 1 , 0 , -1} ;
59+
60+
///////////////////////////////////////////////////////////////////////////////////////
61+
62+
ll pow(ll a , ll b , ll m) {
63+
ll ans = 1 ;
64+
while(b)
65+
{
66+
if (b&1) {
67+
ans = (ans*a) % m ;
68+
}
69+
b /= 2 ;
70+
a = (a*a) % m ;
71+
}
72+
return ans ;
73+
}
74+
75+
bool isprime(ll n) {
76+
for (ll i = 2 ; i * i <= n ; ++i)
77+
if (n % i == 0) {
78+
return false ;
79+
}
80+
return true;
81+
}
82+
83+
ll gcd(ll a, ll b) {
84+
if (b == 0) {
85+
return a ;
86+
}
87+
else {
88+
return gcd (b , a % b) ;
89+
}
90+
}
91+
92+
ll lcm(ll a, ll b) {
93+
return ((a / gcd(a , b)) * b) ;
94+
}
95+
96+
///////////////////////////////////////////////////////////////////////////////////////
97+
98+
int n , m ;
99+
vi deg ;
100+
vvb mat ;
101+
int mn = infi ;
102+
103+
void solve (int test_case) {
104+
cin >> n >> m ;
105+
mat = vvb (n+1 , vb (n+1 , false)) ;
106+
deg = vi (n+1 , 0) ;
107+
for (int i = 0 ; i < m ; ++i) {
108+
int a , b ;
109+
cin >> a >> b ;
110+
mat[a][b] = mat[b][a] = true ;
111+
++deg[a] ;
112+
++deg[b] ;
113+
}
114+
int mn = infi ;
115+
for (int i = 1 ; i <= n ; ++i) {
116+
for (int j = i+1 ; j <= n ; ++j) {
117+
if (mat[i][j]) {
118+
for (int k = j+1 ; k <= n ; ++k) {
119+
if (mat[i][k] && mat[j][k]) {
120+
mn = min(mn , deg[i]+deg[j]+deg[k]) ;
121+
}
122+
}
123+
}
124+
}
125+
}
126+
if (mn == infi) {
127+
cout << -1 << '\n' ;
128+
} else {
129+
cout << mn - 6 ;
130+
}
131+
}
132+
133+
int main() {
134+
FAST ;
135+
//#ifndef ONLINE_JUDGE
136+
//freopen("input.txt", "r", stdin);
137+
//freopen("output.txt", "w", stdout);
138+
//#endif
139+
int tc = 1 ;
140+
// cin >> tc ;
141+
while (tc--){
142+
solve (tc) ;
143+
}
144+
return 0 ;
145+
}

0 commit comments

Comments
 (0)