Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // uloha8.c -- William Brach, 6.11.2017 13:40
- #include <stdio.h>
- #include <math.h>
- struct Jablko{
- double x;
- double y;
- double t;
- };
- struct Jablko pole[10001];
- int pocetjablk,max[10001];
- double rychlost;
- double pytagoras(double x1, double y1, double x2, double y2)
- {
- double vysledok;
- vysledok = sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) );
- return vysledok;
- }
- int porovnanie(const void *va, const void *vb)
- {
- struct Jablko *a = (struct Jablko *)va, *b = (struct Jablko *)vb;
- if (a->t > b->t)
- return 1;
- if (a->t < b->t)
- return -1;
- return 0;
- }
- int main()
- {
- // sem napis svoje riesenie
- int i,j;
- double vzdialenost,cas,cas2;
- while(scanf("%d %lf", &pocetjablk, &rychlost) > 0)
- {
- max[0]=1;
- for(i=1;i<=pocetjablk;i++)
- max[i] = 0;
- for (i = 1; i <=pocetjablk; i++)
- scanf("%lf %lf %lf", &pole[i].x,&pole[i].y,&pole[i].t);
- qsort(&pole,pocetjablk+1,sizeof(struct Jablko),porovnanie);
- for(i=1;i<=pocetjablk;i++)
- {
- for(j=0;j<i;j++)
- if(max[i] < max[j]+1 && max[j])
- {
- vzdialenost = pytagoras(pole[i].x,pole[i].y,pole[j].x,pole[j].y);
- cas = vzdialenost / rychlost;
- cas2 = pole[i].t - pole[j].t;
- if (cas <= cas2)
- max[i] = max[j]+1;
- }
- }
- j = max[0];
- for(i = 1;i <= pocetjablk;i++)
- if (max[i] > j)
- j = max[i];
- printf("%d\n",j-1);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement