Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int n,m;
- int mini=100000;
- int arr[4001][2];
- int combi[10000][3];
- int arr2[10000];
- bool found = false;
- int ind = 0;
- void solve(int i,int d,int f,int s,int t)
- {
- if (d >= 3)
- {
- combi[ind][0] = f;
- combi[ind][1] = s;
- combi[ind][2] = t;
- ind++;
- found = true;
- return;
- }
- for (int x = 0;x < m;x++)
- {
- if (arr[x][0] == i){
- if (d == 0)
- f = arr[x][0];
- if (d == 1)
- s = arr[x][0];
- if (d == 2)
- t = arr[x][0];
- solve(arr[x][1],d+1,f,s,t);
- }
- }
- }
- int main ()
- {
- cin >> n >> m;
- int i,j;
- for (i = 0;i < m;i++)
- cin >> arr[i][0] >> arr[i][1];
- for (i = 0;i < m;i++)
- {
- arr2[arr[i][0]]++;
- }
- for (i = 0;i < m;i++)
- solve(arr[i][0],0,0,0,0);
- if (found == false)
- {
- cout << "-1";
- }
- else{
- for (i = 0;i < ind;i++)
- {
- int sum = 0;
- cout << combi[i][0] << " " << combi[i][1] << " " << combi[i][2] << " ";
- cout << "sum of this combi = " << arr2[combi[i][0]] + arr2[combi[i][1]] + arr2[combi[i][2]] << endl;
- cout << "rep : " << arr2[combi[i][0]] << " rep : " << arr2[combi[i][1]] << " rep : " <<arr2[combi[i][2]] << endl;
- mini = min(mini,arr2[combi[i][0]] + arr2[combi[i][1]] + arr2[combi[i][2]]);
- }
- }
- cout << mini;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement