Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define Nmax 100005
- using namespace std;
- ifstream fin ("teste.in");
- ofstream fout ("teste.out");
- int n, m, lg, minn, p[Nmax], poz, x, y, f[Nmax];
- int main()
- {
- fin >> n >> m >> lg >> minn; /// lg = lungimea lantului raspuns; minn=raspunsul tau;
- fout << n << ' ' << m << '\n';
- srand(time(NULL));
- for(int i=1;i<=n;i++)
- p[i]=i;
- random_shuffle(p+2, p+n);
- swap(p[lg], p[n]);
- poz=rand()%(lg-1)+1;
- for(int i=1;i<lg;i++)
- {
- /*v[m].c=rand()%minn+1;
- v[m].x=p[i];
- v[m].y=p[i+1];
- f[p[i]]=f[p[i+1]]=1;*/
- fout << p[i] << ' ' << p[i+1] << ' ';
- f[p[i]]=f[p[i+1]]=1;
- if(i==poz)
- fout << minn << '\n';
- else fout << rand()%minn+1 << '\n';
- m--;
- }
- for(int i=lg+1;i<=n;i++)
- {
- fout << rand()%(i-1)+1 << ' ' << p[i] << ' ' << rand()%(minn-1)+1 << '\n';
- /*v[m].c=rand()%minn+1;
- v[m].x=ha;
- v[m].y=p[i]; */
- m--;
- }
- while(m)
- {
- /*v[m].x=rand()%n+1;
- v[m].y=rand()%n+1;
- if(f[v[m].x]==0&&f[v[m].y]==0)
- v[m].c=rand()%1000000+1;
- else v[m].c=rand()%(1000000-minn-1)+(minn+1);*/
- x=rand()%n+1;
- y=rand()%n+1;
- if(x==y)
- continue;
- fout << x << ' ' << y << ' ';
- if(f[x]==0 && f[y]==0)
- fout << rand()%1000000+1 << '\n';
- else fout << rand()%(1000000-minn-1)+(minn+1) << '\n';
- m--;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement